在Azure AD B2C中ID Token由谁提供?跨外部IDP资源认证疑问
Azure AD B2C与外部IDP认证会话的疑问解析
- 环境背景:已配置两个外部身份提供商(IDP)的Azure AD B2C环境
- 初始认知:认为ID Token仅由Azure AD B2C生成,而非外部IDP
- 实际发现:用户通过Azure AD B2C登录后,无需重新认证即可打开同一外部IDP保护的其他资源页面完成登录
- 初始预期:用户仅能访问Azure AD B2C对接的资源,无法直接访问同一外部IDP的其他资源
核心原因说明
当通过Azure AD B2C使用外部IDP登录时,流程分为两层:
- 外部IDP会先对用户进行认证,向Azure AD B2C颁发自身的令牌,同时在用户浏览器中设置该IDP的会话Cookie
- Azure AD B2C基于外部IDP的令牌,生成自己的ID Token提供给对接的应用
你看到的跨资源自动登录,并非是Azure AD B2C的ID Token在起作用,而是用户浏览器中保留的外部IDP会话Cookie在生效——只要该会话未过期,用户访问同一IDP保护的其他资源时,IDP会直接识别会话并完成认证,无需重新输入凭据。
Azure AD B2C的ID Token确实仅能用于访问其自身保护的资源,和外部IDP的资源认证是相互独立的两个体系。
内容的提问来源于stack exchange,提问作者Killerbe
相关产品推荐
相关产品推荐

