0

我正在尝试使用 C# 从 ADFS 2.0 ws-trust 服务获取 SAML 2.0 令牌。流行的示例是这个 http://leastprivilege.com/2012/11/16/wcf-and-identity-in-net-4-5-external-authentication-with-ws-trust/。但是,此示例使用 UserNameWSTrustBinding,根据这篇文章http://msdn.microsoft.com/en-us/library/jj157091.aspx,它没有跳转到 4.5 的 System.IdentityModel 命名空间。

我一直在试验这个样本和我发现的一些变体,但到目前为止,我能得到的唯一结果是各种错误消息。我想知道是否有任何好的方法来调试最新的“安全令牌请求具有无效或格式错误的元素。”。我打开了 WCF 登录,并确定此消息是由 ADFS 服务作为故障返回的。

查看 ADFS 服务器上的 AD FS 2.0/Admin 事件,没有任何错误迹象。一些帖子表明这在 ADFS 场环境中很常见,但我的是一个简单的单服务器配置。

有没有人有好的方法来诊断这个?或者,是否有一个很好的示例,其中包含 ADFS 服务器端的任何配置要求?

4

1 回答 1

1

此链接http://social.msdn.microsoft.com/Forums/en/Geneva/thread/33fc091b-505c-481c-a61c-a8541a5ccf23显示了如何为 ADFS 2.0 的服务器端启用 WCF 和 WIF 跟踪。修改 C:\Program Files\Active Directory Federation Services 2.0\Microsoft.IdentityServer.Servicehost.exe.config 中的配置文件。(将三个 switchValue 设置更改为 Verbose 并修改跟踪侦听器。)按照说明进行操作时,请确保更改侦听器的类型。就像是

<add name="ADFSWifListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\logs\adfs1.svclog" />

我还必须授予“每个人”对 C:\Logs 文件夹的完全访问权限,如果您愿意,可以通过审核来优化这些权限。创建 .svclog 文件后,可以使用 %ProgramFiles%/Microsoft SDKs/Windows/v8.0A/bin/NETFX 4.0 工具(或任何其他 SDK 版本)中的 SvcTraceViewer.exe 查看它们。

注意:Microsoft 不支持将跟踪数据直接记录到文件的概念,因此您需要关闭此功能或根据本文http://technet.microsoft.com/en-us/library/adfs2-troubleshooting进行配置-configuring-computers(WS.10).aspx用于生产部署。

于 2012-11-29T23:32:50.250 回答