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

Azure AD B2C的PKCE认证流问题:提供的code_verifier无效

解决Azure AD B2C PKCE流程中AADB2C90183错误的排查步骤

以下是针对你遇到的AADB2C90183: The supplied code_verifier is invalid错误的具体排查和解决方向:

  • 检查code_verifier的格式合规性
    code_verifier必须满足:长度在43-128字符范围内,仅包含字母、数字,以及-._~这三个特殊字符。确认你生成的verifier没有超出长度限制,也没有包含其他非法字符。

  • 验证code_challenge的生成逻辑正确性
    使用S256方法时,生成流程必须是:

    1. 生成符合规则的code_verifier
    2. 对code_verifier计算SHA256哈希值
    3. 对哈希结果做Base64URL编码(替换+为-、/为_,移除末尾的=符号)
      绝对不能直接对code_verifier做Base64编码,必须经过SHA256哈希这一步。
  • 保证verifier与challenge的配对一致性
    每个授权请求的code_challenge必须对应唯一的code_verifier,不能跨会话混用。比如用challengeA发起授权拿到code后,必须用生成challengeA的那个verifierA去请求令牌,不能用其他会话生成的verifierB。

  • 核对令牌请求的参数
    向令牌端点请求时,必须正确传递以下参数(无需client_secret):

    grant_type=authorization_code
    code=获取到的授权code
    redirect_uri=与授权请求完全一致的回调地址
    client_id=你的应用ID
    code_verifier=对应授权请求中challenge的原verifier
    

    检查参数拼写是否正确,比如别把code_verifier写成code_verify。

  • 确认应用注册的公共客户端配置
    登录Azure AD B2C后台,找到你的应用注册,进入"身份验证"页面,在高级设置里开启"允许公共客户端流"。PKCE属于公共客户端流程,这个开关未开启会导致验证失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:16:04