因为我正在开发一个 WCF Web 服务,以便在用户的登录操作和他们的事件目录角色和权限之间建立中介。我不希望我的主机应用程序直接与 AD FS 对话。我希望任何主机应用程序使用我的网络服务,它会根据给定的凭证提供必要的信息。
在我的网络方法中,我需要通过用户的登录凭据从 AD FS (WIF) 获取声明。
我的网络方法将有两个输入参数,Window 用户的电子邮件 ID/Windows 帐户名和密码。
因此,我想通过给定用户的凭据在我的 Web 方法中访问 AD FS 声明。
我如何通过给定用户的凭据获得 AD FS 声明?
最佳答案
您应该对使用集成 Windows 身份验证的 AD FS 2.0 的 https://.../adfs/services/trust/13/usernamemixed 端点执行 Web 服务调用,提供用户的凭据以便可以建立连接设置。在此端点上,调用 http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue手术。 (更多详细信息在 section 4.1 of the WS-Trust 1.3 specification 中。)此操作的输入是 RequestSecurityToken 请求。响应包含一个 SAML token ,其中包含您需要的声明。
请注意,AD FS 2.0 WSDL 位于 https://.../adfs/services/trust/mex:如果您指向 Visual Studio Add Service Reference向导,或您的 Java wsimport , 到该 URL,然后您将轻松生成可用于执行 RST Issue 操作的客户端代码。
关于c# - 如何通过用户凭据访问 AD FS 声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981065/