AADB2C90205错误:获取Refresh Token时权限不足问题求助
Azure AD B2C获取Refresh Token权限不足问题解决及权限配置指南
问题原因分析
错误AADB2C90205表明你的应用注册缺少对应API的权限,或者权限未完成管理员授权(针对应用权限)。另外需注意:获取refresh token的前提是,申请authorization code时必须携带offline_access范围,否则即使权限配置正确,也无法拿到refresh token。
权限配置步骤(以Microsoft Graph API的User类权限为例)
1. 进入应用注册配置页面
- 登录Azure门户,定位到你的Azure AD B2C租户
- 进入应用注册模块,找到你创建的目标应用
2. 添加API权限
- 在应用注册左侧菜单选择API权限,点击添加权限
- 选择Microsoft Graph,根据业务场景选择权限类型:
- 委派权限:代表用户执行操作时使用,比如
User.Read(读取当前用户信息) - 应用权限:应用后台独立操作时使用,比如
User.Read.All(读取所有用户信息)
- 委派权限:代表用户执行操作时使用,比如
- 搜索并勾选所需权限(如
User.Read、User.Read.All),点击添加权限
3. 完成管理员授权(关键步骤)
- 若添加的是应用权限,或标记为「需要管理员同意」的委派权限,必须点击授予[租户名称]管理员同意,确认后权限才会生效
获取Refresh Token的额外要求
- 申请authorization code时,
scope参数必须包含offline_access,示例格式:openid offline_access User.Read - 调用token端点的请求参数需完整,示例请求:
POST https://<b2cTenentName>.b2clogin.com/<b2cTenentName>.onmicrosoft.com/<policyName>/oauth2/v2.0/token Content-Type: application/x-www-form-urlencoded client_id=<你的Client ID> &client_secret=<你的Client Secret> &grant_type=authorization_code &code=<获取到的authorization code> &redirect_uri=<你的回调地址> &scope=openid offline_access User.Read
验证权限有效性
完成配置后,重新获取包含正确scope的authorization code,再调用token端点尝试获取refresh token。若仍报错,检查:
- 权限是否已正确添加并完成管理员授权
scope参数是否包含所有所需权限及offline_access- 应用注册的API权限列表中是否存在未生效的项
内容的提问来源于stack exchange,提问作者Shanthi B
相关产品推荐
相关产品推荐

