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

Azure AD B2C同租户多应用单点登出失效问题咨询

Azure AD B2C 同一租户多应用单点登出解决方案

针对同一Azure AD B2C租户下多应用单点登出失效的问题,可按以下步骤排查和修复:

  • 确保所有应用注册配置正确的登出URL
    每个应用都需在Azure AD B2C应用注册的**"认证"页面中,添加并验证对应的前端登出URL和注销URL**。所有应用的登出回调地址必须属于已验证的域名,且不能遗漏任何一个应用的配置。

  • 调用Azure AD B2C全局登出端点,而非仅清除本地会话
    登出流程不能只清除当前应用的本地会话(比如删除本地Cookie、Storage),必须发起对B2C全局登出端点的请求,格式如下:

    https://<你的B2C租户名>.b2clogin.com/<你的B2C租户名>.onmicrosoft.com/<你的用户流ID>/oauth2/v2.0/logout?post_logout_redirect_uri=<当前应用的登出回调URL>
    

    该请求会清除B2C域下的SSO会话Cookie,确保所有依赖该会话的应用在刷新时都需要重新登录。

  • 处理跨域名场景的会话同步(若应用跨不同域名)
    如果多个应用部署在不同域名下,浏览器的第三方Cookie限制可能导致全局登出无法同步。此时需:

    1. 将B2C的会话Cookie配置为SameSite=None; Secure(需在应用注册或自定义策略中设置)
    2. 在每个应用中嵌入一个隐藏的iframe,指向B2C的登出端点。当某个应用触发登出时,iframe会执行全局会话清除,同步失效其他应用的SSO会话。
  • 验证用户流/自定义策略的登出逻辑

    • 若使用内置用户流:确认用户流的"会话行为"设置中,登出时的会话清除选项已开启。
    • 若使用自定义策略:检查策略中的<SessionManagement>节点,确保配置了正确的登出会话处理逻辑,比如设置SessionType="Persistent"并关联正确的会话技术配置。
  • 测试验证要点

    1. 登出后检查浏览器中*.b2clogin.com域下的Cookie是否被完全清除
    2. 用不同标签页打开多个应用,登出其中一个后刷新其他应用,确认是否跳转到登录页
    3. 确保所有应用的登出回调URL都已添加到B2C应用注册的允许列表中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:52:50