首页 > 解决方案 > 天蓝色 b2c saml 注销网址

问题描述

我使用 SAML 流创建了 azure b2c 自定义策略,但找不到文档我应该在 SP 端使用什么注销 url。我在 saml 策略元数据 xml 中看到的内容:

<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://tenant.b2clogin.com/tenant.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/sso/logout"/>

它不适用于我的 SP (zendesk) 并在注销重定向后显示错误:AADB2C99046: The logout request does not include a session index。我调查了 saml 注销请求,它不包含会话索引元素。据我了解,SAML 标准文档 SessionIndex 是可选的。

有没有办法使用 SAML 修复注销功能?

这是微软支持的答案:

在与我们的技术顾问和其他资源分析您的请求后,我们确认对于您将 B2C 充当 SAML 令牌提供者的特定设置,SessionIndex 和 NameID 是必须的,并且需要由您的服务提供商提供。

我知道很难通过将信息传播到各处来跟踪 B2C 中通常需要设置的要求,但在 Azure AD B2C 中支持以下两种方案:

  1. 让 Azure AD B2C 充当 IdP 并通过基于 SAML 的服务提供商实现 SSO
  2. 让 Azure AD B2C 作为服务提供商 (SP) 并与基于 SAML 的身份提供商(如 SalesForce 和 ADFS)进行交互。

第一个场景 (1),即您拥有的场景,它需要您的自定义策略来设置您的 SAML 令牌颁发者,以及名为 SM-Saml-Issuer 的 TechnicalProfile 的 SAMLSSOSessionProvider。如果没有来自您的 SP 的 SessionIndex 和 NameID 属性,SAML 会话注销将不起作用。

这是从您的服务提供商处获得成功的 SAML 注销调用的唯一方法。

如果您有任何问题,请告诉我,然后我可以对其进行审核,并在必要时将其转发给我们的专家。

最好的问候,
_____________________________________________________ Victor J. Hernandez | 支持工程师 | Azure 支持

标签: samlazure-ad-b2csaml-2.0zendesk

解决方案


大多数使用 SAML 的 SP 将在您通过身份验证后创建自己的会话。此会话仅由设置它的 SP 使用。为此,注销必须执行以下操作:删除所有 SP 会话。

完全退出 SAML SSO 的唯一真正可靠的方法是删除所有会话,包括身份提供者会话和所有服务提供者会话。通常,这可以通过关闭浏览器来完成。


推荐阅读