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

Azure B2C中Authorization Code Flow配置问题求助

授权码流配置问题解决与疑问解答

一、为啥设置了授权码流还直接返回ID Token?按这几步改

  1. 修正B2C应用注册的配置
    别直接把Access Token和ID Token的勾选全取消,得这么操作:
    • 进入B2C应用注册的「身份验证」页面,找到Web平台的配置项
    • 把「隐式授权流」下的“ID tokens”和“Access tokens”都取消勾选
    • 同时确认「授权码流」的选项已经勾选(不同版本的B2C界面可能在“高级设置”或“授权流”分组中)
  2. 检查用户流/自定义策略的支持
    • 用内置用户流的话,进入用户流的「属性」页面,确认“支持的流”列表里包含“授权码流”
    • 用自定义策略的话,要确保策略的UserJourney和RelyingParty部分,配置了授权码流的响应类型支持
  3. 调整Angular端的配置
    • 如果使用angular-oauth2-oidc这类OAuth库,得明确禁用隐式流:
      OAuthService.configure({
        responseType: 'code',
        implicitFlowInUse: false,
        // 其他必填配置:clientId、issuer、redirectUri等
      });
      
    • 检查请求参数,别携带隐式流相关参数,比如如果不需要即时获取ID Token,可以把scope里的openid去掉(后续用code兑换时仍能拿到ID Token)

二、关于重定向URI的PKCE提示是什么意思?

那句英文翻译为:你的重定向URI符合使用带PKCE的授权码流的条件

显示“eligible”(符合条件)的原因:

  • PKCE是专门给SPA这类无法安全存储客户端密钥的应用设计的,用来提升授权码流的安全性,防止授权码被劫持
  • Azure B2C会自动识别重定向URI的类型,如果是http://localhost或者纯前端路由类的地址,就会判定该URI适合使用PKCE增强的授权码流
  • 这意味着你的应用无需额外配置,直接就能开启PKCE模式,保护授权码交换的过程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 07:16:10