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

配置Azure AD为OIDC提供商后,如何查找ID Token/Access Token?

解决Azure AD OIDC流程中找不到ID Token/Access Token的问题

你当前拿到的code是授权码,并非最终的ID Token或Access Token。因为你使用的是OIDC的授权码流程(Authorization Code Flow),这个流程的设计就是先返回授权码,再通过后端请求交换得到token,避免token直接暴露在前端环境中。

如何获取ID Token和Access Token

需要用拿到的授权码,向Azure AD的Token端点发送POST请求来交换:

  • 请求地址:https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
  • 请求格式:application/x-www-form-urlencoded
  • 必须携带的参数:
    • grant_type=authorization_code
    • client_id={你的应用Client ID}
    • client_secret={你的应用客户端密钥,需在Azure AD应用注册中生成}
    • code={步骤4中回调地址返回的授权码}
    • redirect_uri={与授权请求中完全一致的回调地址}
    • scope=openid email profile(与授权请求中的scope保持一致)

请求成功后,你会收到JSON格式的响应,其中包含:

  • id_token:JWT格式的身份令牌,可解码查看用户声明
  • access_token:访问令牌,用于调用受保护的资源
  • refresh_token:刷新令牌,用于在access_token过期后获取新的令牌

额外检查点

  • 如果是第三方现成应用,确认该应用的OIDC配置中已正确填写客户端密钥,且开启了授权码流程的token交换逻辑
  • 确保授权码仅使用一次,重复使用会被Azure AD拒绝

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:36:41