我们正在建立一个ADFS(2.0),负责为几个面向客户的系统验证用户身份。身份验证机制是外部合作伙伴的外部合作伙伴,可以访问多个身份验证提供程序。
我们最近遇到了以下情况:
这是ADFS偏离我们预期的行为的地方。 ADFS不是识别用户,而是透明地使用有效的身份验证令牌将其发送回系统B,而是将他发送给我们的身份验证合作伙伴进行重新身份验证。
这完全破坏了我们希望使用系统A和B的客户所需的SSO功能,但是我们还没有找到让ADFS建立用户会话并在访问第二个系统期间重新使用它的方法。
有没有人解决过这个问题?
ADFS在完全负责身份验证时是否只能提供单点登录?
答案 0 :(得分:1)
如果您的RP-s(系统A和系统B)已配置为强制验证(ForceAuthn =“true”),则ADFS应该以这种方式运行。要解决您的问题,请确保从<wsFederation>
元素中删除了新鲜度属性。
答案 1 :(得分:0)
在传统ADFS中,您将不同的身份验证合作伙伴设置为具有ADFS的声明提供程序,即您联合相应的STS。然后,它提供您需要的SSO功能。
听起来您的问题是ADFS与外部合作伙伴之间只有联合,但ADFS与外部合作伙伴处理的身份验证提供程序之间不存在联盟。
答案 2 :(得分:0)
您是否可以访问ADFS2日志?在 Windows计算机中 - &gt;事件查看器 - &gt;应用程序和服务日志 - &gt; AD FS 2.0 - &gt;管理员
还要检查A,B和ADFS2是否在同一个信任圈中,以及系统B的 Assertion Consumer Services 端点。
希望它有所帮助,
路易斯