You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

微软浏览器身份验证全流程、授权码使用及本地流量防窃听咨询

授权码的具体使用逻辑

你梳理的流程中未知的环节属于OAuth 2.0 授权码流程的标准令牌交换步骤,完整逻辑如下:

  • 执行az login等操作时,本地应用会先生成一对PKCE(公开客户端授权码交换证明)参数:随机字符串code_verifier,以及由code_verifier经过哈希运算得到的code_challenge
  • 请求授权端点时,本地应用会将code_challenge和对应的哈希算法参数一并携带发送,微软身份平台会记录这两个参数
  • 拿到浏览器返回的授权码后,本地应用会主动向微软令牌端点发起POST请求,携带的参数包括:获取到的授权码、之前生成的原始code_verifier、固定的客户端ID、和授权请求时完全一致的redirect_uri
  • 微软身份平台会先校验code_verifier和之前记录的code_challenge是否匹配,校验通过后才会返回有效访问令牌、刷新令牌,授权码本身仅可使用一次,校验后直接作废,不会作为访问凭证直接使用

防范localhost流量窃听的机制

针对localhost流量可被本地抓包获取的风险,该流程有多重防护机制:

  • 授权码单次有效+短有效期:授权码的有效期通常仅为几分钟,且仅可用于一次令牌交换请求,使用后立即作废,即使被抓包获取也无法二次使用
  • PKCE机制阻断授权码盗用:换令牌必须的code_verifier仅存在于本地应用的内存中,全程不会经过任何网络传输,窃听者就算拿到了授权码,没有对应的code_verifier也无法完成令牌交换
  • Redirect_uri严格校验:微软身份平台会校验令牌交换请求携带的redirect_uri和发起授权请求时的redirect_uri完全一致,加上本地服务使用随机端口,窃听者无法提前构造合法的请求参数
  • 本地服务仅监听环回地址:应用启动的临时HTTP服务仅绑定127.0.0.1/::1地址,外部设备无法访问,仅能接收本地浏览器返回的授权码请求

内容的提问来源于stack exchange,提问作者tmaj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:15:03