我正在建立一个实验室环境,其中有两台 Windows Server(虚拟)机器在 AD FS 配置中协作。
- WIN-TORHJGJ7N:Windows Server 2012,运行 AD FS 2.0。也是域控制器。
- ADFS服务器代理:尽管它的名字如此,但实际上尚未设置为代理(目前)。最重要的是,它包含一个Web应用程序正在运行
https://adfstest.sub.domain.com/
。它受 AD FS Windows Token-Based Agent 保护,如下图所示。Web 应用程序是一个简单的“hello world”程序,因此该端没有任何身份验证逻辑。
在我的第一台机器上,我想配置我的依赖方信任,但在配置端点时遇到了麻烦。我尝试了http://sts1.sub.domain.com/adfs/ls/
和http://adfstest.sub.domain.com/
其他变体,但我真的不确定要去那里做什么。它是一个任意值,还是需要指向特定位置?如果它应该指向我的 Web 应用程序,我是否需要在应用程序中实现身份验证逻辑?
长话短说:在这个设置中,依赖方信任端点预计是什么?
编辑:当我将端点指向应用程序端的任意 URL 时( ),出现以下
错误:https://adfstest.sub.domain.com/
基于 Windows NT 令牌的应用程序的 AD FS Web 代理遇到严重错误。无法验证客户端提供的 cookie。
当客户端提供格式正确但无效的 Cookie 时,就会出现这种情况。如果客户端是有效用户,则此错误可能是由暂时性问题引起的。例如,信任属性(例如证书)可能最近已更改,或者证书颁发机构可能无法提供吊销状态。
用户操作在安全日志中查找可能包含更多详细信息的其他事件。如果尚未启用审核,请考虑在此 Web 服务器上启用失败审核。
答案1
这个实验室只是为了您的学习,还是为了验证一些以后用于生产的概念?
您尝试实施的基于令牌的代理方法是 2003 R2 中引入的老式方法。您确定需要以这种方式进行生产吗?
目前联合应用的方式是使用 WIF。请参阅http://msdn.microsoft.com/en-us/library/hh987037(v=vs.110).aspx获取使用最新 WIF 版本的示例。
在该示例中,替换对
http://localhost:13922/wsFederationSTS/Issue
与http://sts1.sub.domain.com/adfs/ls/
和http://localhost:28503/
与http://adfstest.sub.domain.com/
和- 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234,在 AD FS 上运行 get-adfscertificate cmdlet 时,可以看到您的 AD FS 令牌签名证书哈希
另请参阅http://www.cloudidentity.com/blog/2014/02/12/use-the-on-residential-organizational-authentication-option-adfs-with-asp-net-in-visual-studio-2013/至此结束使用 WIF 和 AD FS 的示例。该文章展示了 Windows Server 2012 R2 上的 AD FS 的使用情况,但在这里完全适用。