首页
/ Smallstep CLI工具在Chrome 123版本中的OIDC登录问题分析与解决方案

Smallstep CLI工具在Chrome 123版本中的OIDC登录问题分析与解决方案

2025-06-17 06:24:39作者:江焘钦

问题背景

近期,Smallstep CLI工具在Windows和macOS平台上出现了一个与Chrome浏览器123版本相关的兼容性问题。当用户使用OIDC(OpenID Connect)方式进行SSH登录时,整个认证流程会在回调阶段出现异常,导致登录过程无法完成。

问题现象

具体表现为:用户在执行step ssh login命令并通过OIDC提供商成功登录后,系统会在回调到本地客户端端口(通常是10000)时出现挂起现象。最终客户端会显示如下错误信息:

2024/03/21 08:41:12 httptest.Server blocked in Close after 5 seconds, waiting for connections:
  *net.TCPConn 0xc00007c960 127.0.0.1:50112 in state active

影响范围

这个问题主要出现在以下环境中:

  • 操作系统:Windows 10/11和macOS
  • 浏览器:Chrome 123.0.6312.59(64位官方版本)及其他基于Chromium的浏览器(如Brave)
  • Smallstep CLI版本:0.25.2

值得注意的是,在Linux系统上无法复现此问题,使用Edge或Firefox浏览器时流程也能正常工作。

问题根源分析

经过技术团队深入调查,发现问题源于Chrome 123版本对私有网络请求安全策略的调整。具体来说:

  1. OAuth2流程中的回调环节会引导浏览器访问http://127.0.0.1:10000(由CLI工具本地托管)
  2. Chrome 123版本加强了对"不安全私有网络请求"的拦截
  3. 虽然认证流程可能实际已完成,但由于浏览器连接未正常关闭,导致CLI工具无法停止HTTP服务器
  4. 最终表现为CLI工具在尝试关闭服务器时超时失败

临时解决方案

在官方修复版本发布前,用户可以采取以下临时解决方案:

  1. 在Chrome地址栏输入:chrome://flags/#block-insecure-private-network-requests
  2. 将该选项设置为Disabled
  3. 重启浏览器

官方修复方案

Smallstep团队迅速响应,在cli项目的0.26.0版本中彻底解决了此问题。主要修复内容包括:

  1. 优化了本地HTTP服务器的关闭逻辑
  2. 改进了与浏览器交互的处理机制
  3. 增强了对现代浏览器安全策略的兼容性

验证结果

多位用户反馈证实:

  • 使用0.25.3-rc3候选版本后问题得到解决
  • 正式发布的0.26.0版本完全修复了此兼容性问题

技术建议

对于企业级部署环境,建议:

  1. 及时升级到Smallstep CLI 0.26.0或更高版本
  2. 对于暂时无法升级的环境,可指导用户使用Firefox等非Chromium浏览器
  3. 在浏览器策略管理中预配置相关安全标志,避免影响用户体验

此问题的快速解决展现了Smallstep团队对产品质量和用户体验的高度重视,也体现了开源社区协作的高效性。

登录后查看全文
热门项目推荐
相关项目推荐