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

如何使用Refresh Token获取有效的OAuth2 AccessToken(Azure AD场景)

解决Azure AD刷新令牌获取指定受众AccessToken的问题
  • 改用scope参数替代resource参数
    Azure AD v2.0端点不再推荐使用resource参数,尤其是自定义范围的API场景。刷新令牌时,直接传入完整的自定义范围(如api://{clientId}/ApplicationName)加上offline_access,无需设置resource,返回的AccessToken受众会自动匹配api://{clientId}。

  • 确认使用v2.0令牌端点
    刷新请求必须指向Azure AD v2.0端点:https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token。v1.0端点的resource参数逻辑与v2.0不兼容,无法正确适配自定义范围的权限请求。

  • 验证刷新令牌的权限关联
    确保初始授权码流请求时,已包含目标自定义范围和offline_access权限。只有满足这个前提,Refresh Token才具备获取对应API新AccessToken的权限。

  • 参考请求示例

    curl -X POST https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -d "client_id={你的客户端ID}" \
      -d "client_secret={你的客户端密钥}" \
      -d "refresh_token={已获取的刷新令牌}" \
      -d "grant_type=refresh_token" \
      -d "scope=api://{clientId}/ApplicationName offline_access"
    

额外检查点:
确认你的App Registration中,API的「Expose an API」页面里,自定义范围已启用,且当前WebApi应用已被授予该范围的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:02:38