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

如何使用Refresh Token在Azure AD中获取Access Token

排查Refresh Token获取Access Token失败的常见原因及解决方法
  • 核对请求参数完整性与正确性
    刷新令牌的POST请求必须包含以下必填参数,缺一不可:

    • grant_type: 固定为refresh_token
    • client_id: 你的应用注册ID
    • refresh_token: 之前获取到的刷新令牌字符串
    • scope: 必须是之前授权过的范围子集(不能新增未授权范围),比如保持user.read offline_access openid
    • 若为机密客户端(如后端服务),还需额外传入client_secret或client_assertion

    标准请求示例(表单编码格式):

    POST https://login.microsoftonline.com/tenant.com/v2.0/token
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=refresh_token
    &client_id=你的应用ID
    &refresh_token=你的刷新令牌
    &scope=user.read offline_access openid
    &client_secret=你的应用密钥(机密客户端必填)
    
  • 验证Refresh Token有效性

    • 刷新令牌可能已失效:Azure AD默认刷新令牌有效期90天,但用户重置密码、主动撤销应用授权、应用权限变更等操作会直接让刷新令牌失效
    • 确认租户一致性:请求的租户(tenant.com)必须和获取刷新令牌时的租户完全一致
    • 匹配应用类型:公共客户端(如桌面/移动端APP)不能传入client_secret,否则会触发权限错误
  • 根据错误码定位问题
    失败时Azure AD会返回明确错误码,针对性排查:

    • invalid_grant: 最常见,大概率是刷新令牌过期、无效,或客户端凭据错误,需重新引导用户授权获取新令牌
    • invalid_scope: 请求范围包含未授权权限,或格式错误,需调整为已授权的范围集合
    • unauthorized_client: 应用未被允许使用refresh_token授权类型,需检查应用注册的权限配置
  • 检查应用注册配置

    • 确认offline_access权限已配置并授予:在Azure AD应用注册的「API权限」中,检查该权限已添加且完成管理员/用户授权
    • 公共客户端需配置对应平台:在「身份验证」页面勾选对应平台(如移动和桌面应用),并设置正确的重定向URI

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:30:56