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

已配置Azure AD SSO,如何获取登录成功后的身份验证结果?

获取Azure AD SSO身份验证结果的步骤

1. 确认应用的身份验证模式

先明确你的应用是用哪种方式集成Azure AD SSO的,常见的有OAuth 2.0/OpenID Connect(现代应用首选)、SAML 2.0。不同模式获取验证结果的方式不同,优先推荐OAuth 2.0/OpenID Connect,它能直接返回可复用的令牌。

2. OAuth 2.0/OpenID Connect场景:获取并解析令牌

登录成功后,Azure AD会返回两种核心令牌:

  • ID Token:JWT格式,包含用户身份信息(邮箱、姓名、用户ID等),可直接解析后提取数据传给其他系统。
  • Access Token:用于调用Azure AD保护的API,若其他系统需访问Azure服务,可传递此令牌做授权。

具体操作:

  • 登录流程完成后,应用会从Azure AD的回调地址获取令牌(授权码流中需先拿授权码,再兑换成ID Token和Access Token)。
  • 用对应语言的JWT库解析令牌,比如后端用System.IdentityModel.Tokens.Jwt(.NET)、pyjwt(Python),前端用jwt-decode。示例解码后的ID Token结构:
{
  "sub": "用户唯一ID",
  "email": "user@example.com",
  "name": "用户名",
  "iss": "https://login.microsoftonline.com/租户ID/v2.0",
  "exp": 过期时间戳
}

3. SAML 2.0场景:解析SAML断言

若应用用SAML配置SSO,登录成功后Azure AD会返回XML格式的SAML断言,里面包含用户身份属性。

  • 用对应语言的SAML库解析断言,比如.NET的System.IdentityModel.Tokens.Saml、Java的OpenSAML,提取NameID(通常对应邮箱)及自定义属性。

4. 传递验证结果给其他系统

拿到身份数据后,可按以下方式传递:

  • 直接将关键信息(邮箱、用户ID等)以API参数形式传给其他系统,供对方做身份校验。
  • 若其他系统支持Azure AD验证,可传递Access Token,让其调用Azure AD的令牌验证接口确认有效性。
  • 注意:传递时必须用HTTPS加密;Access Token有过期时间,需用Refresh Token处理刷新逻辑。

5. 新手注意事项

  • 登录Azure AD门户的应用注册页面,确认应用的身份验证配置:回调地址正确、令牌颁发权限已开启。
  • 用Azure AD的测试用户登录测试,查看返回的令牌内容,确认信息准确。
  • 不要将原始令牌明文传给不信任的系统,优先传递解析后的必要字段,或让对方自行验证令牌有效性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 02:16:05