我正在尝试设置声明感知网络应用程序开发环境。我是 ADFS 2.0 的新手,最终,我希望能够针对两个不同的域进行身份验证。我想我已经非常接近了,但是我从其中一台 ADFS 服务器收到证书错误。
在处理联合身份验证服务配置期间,发现元素“serviceIdentityToken”包含无效数据。无法访问配置的证书的私钥。
在我在 Web 应用程序中输入凭据后,此错误记录在域 #1 上的 ADFS 服务器事件日志中。即使有工作凭据,我也会被传递到 401 未经授权的访问页面。
运行 ADFS 服务的用户帐户有权访问证书的私钥,因此我不确定为什么会出现此错误。
到目前为止我做了什么:
- 在域 #1 上创建服务器并安装 ADFS 2.0
- 在域 #2 上创建服务器并安装 ADFS 2.0
- 在域 #1 上使用 VS 2010 创建了第三个开发服务器
- 在开发服务器上构建一个简单的应用程序并使其具有联合意识(根据http://msdn.microsoft.com/en-us/library/bb897402.aspx);在 web.config 中,联合服务器设置为域 #1 上的服务器
我也没有在任何一个 ADFS 服务器上设置依赖方信任。这是必要的吗?我似乎找不到任何好的文档来解释它应该如何工作。
我已经按照这个(http://blogs.msdn.com/b/alextch/archive/2011/06/27/building-a-test-claims-aware-asp-net-application-and-integrating-it-with -adfs-2-0-security-token-service-sts.aspx ) 指南进行设置,但我觉得我可能错过了一个简单的步骤。
总结一下:
- 为什么我会收到上面的证书错误?
- 我是否遗漏了设置 ADFS 的任何步骤以便我可以针对两个域进行身份验证?(我可能错过了将两个 ADFS 服务器链接在一起的步骤)
在此先感谢您对此的任何帮助。熟悉 ADFS 的人可能会在几分钟内完成设置!