ADFS、IdP 发起 SAML post 问题

ADFS, IdP initiated SAML post issue

我们有一个声明感知 .net 应用程序。我们有两个拥有自己的 Active Directory 的客户想要访问该应用程序。一位客户使用 ADFS,它在我们的 ADFS 中设置为 Claims Provider。他们的访问就像一个魅力。现在,第二个客户端不使用 ADFS。他们想使用他们将编写的 SAML 令牌对我们的 ADFS 执行未经请求的 POST。我们将他们设置为另一个索赔提供者。他们 POST 他们的 SAML https://ouradfsserver/adfs/ls/IdPInitiatedSignon.aspx。我们正处于服务器说 "You're logged in" 并要求他们从下拉列表中 select 一个应用程序的地步(只有一个)。当他们这样做时,ADFS 会尝试再次重定向到身份提供者以识别用户,这是不可能的,因为没有可用于查询的端点。有没有人见过这个问题或有过这种安排的经验?在我看来,要么 ADFS 没有正确解析 SAML 令牌并为应用程序创建安全上下文,要么它不知道如何正确重定向到应用程序。任何指点将不胜感激!

在 ADFS 中使用 IDP 发起的 SSO 时,您需要启用 RelayState 才能传递身份验证上下文。

请参考下面link了解RelayState:

https://technet.microsoft.com/en-us/library/jj127245%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396

并参考此post以获取启用继电器状态的说明:

https://jorgequestforknowledge.wordpress.com/2014/10/16/enabling-relaystate-in-adfs-versions/(对于所有 ADFS 版本)

您是否注意到事件日志中有任何错误?查看这篇文章了解更多详情: https://jorgequestforknowledge.wordpress.com/2014/10/24/enabling-idp-initiated-sign-on-in-adfs/