我相信这篇 msdn 博客文章准确地描述了您的要求。它对整个过程进行了完整的演练,包括通过创建普通的 WCF 服务来创建 RP,然后使用提供的实用程序配置该服务以信任您的 ADFS。
http://blogs.msdn.com/b/mcsuksoldev/archive/2011/08/17/federated-security-how-to-setup-and-call-a-wcf-service-secured-by-adfs-2- 0.aspx
编辑:
这段代码取自链接文章(评论是我的),是活动联合的演示。客户端应用程序正在从 ADFS 手动检索安全令牌。被动联合将涉及将用户转发到安全网页,在该网页中他们可以将其凭据直接发送到 ADFS。被动联合的主要好处是最终用户的秘密凭据直接提供给 ADFS,而 RP 的客户端代码永远无法访问它。
var requestTokenResponse = new RequestSecurityTokenResponse();
//The line below is the 'Active' federation
var token = Token.GetToken(@"mydomain\testuser", "p@ssw0rd", "http://services.testdomain.dev/wcfservice/Service.svc", out requestTokenResponse);
var wcfClient = new FederatedWCFClient<MyTestService.IService>(token, "WS2007FederationHttpBinding_IService"); // This must match the app.config
var client = wcfClient.Client as MyTestService.IService;
var result = client.GetData();
Console.WriteLine(result);
wcfClient.Close();