使用Thinktecture.IdentityServer的身份和访问工具配置WIF/WCF

使用Thinktecture.IdentityServer的身份和访问工具配置WIF/WCF,wcf,wif,thinktecture-ident-server,Wcf,Wif,Thinktecture Ident Server,注:已经构建了一个示例来证明导致这些问题的问题 在创建WIF安全WCF服务时,MSDN文档建议使用visual studio的标识和访问工具。在服务项目上运行该工具后,将以下节点添加到web.config[]: 标识工具添加了错误的issuerMetadata地址,并且根本不包括issure节点。谢天谢地,引用证书指纹的所有节点都已正确创建。将服务引用添加到此服务的客户端项目会导致客户端上的配置无效。在按如下方式更改消息节点的内容时,创建对服务的服务引用会留下一个几乎可用的客户端(请参见第二

注:已经构建了一个示例来证明导致这些问题的问题

在创建WIF安全WCF服务时,MSDN文档建议使用visual studio的标识和访问工具。在服务项目上运行该工具后,将以下节点添加到web.config[]:


标识工具添加了错误的issuerMetadata地址,并且根本不包括issure节点。谢天谢地,引用证书指纹的所有节点都已正确创建。将服务引用添加到此服务的客户端项目会导致客户端上的配置无效。在按如下方式更改消息节点的内容时,创建对服务的服务引用会留下一个几乎可用的客户端(请参见第二个问题)[]


第一个问题在设置标识工具时是否有错误导致绑定配置不正确?生成的地址在STS FederationMetadata.xml文件中不存在,因此我不确定它来自何处

正确配置服务后,客户端的服务参考几乎是即插即用的。出于某些原因,它没有在WS2007FederationHttpBinding中为颁发者指定绑定配置。添加绑定并为WIF客户端创建绑定配置以从中获取令牌将导致客户端处于工作状态[]

第二个问题更新service web.config允许自动生成客户端配置的其余部分。客户端是否也缺少自动配置绑定的功能

所有这些缺少的元素都可以在身份工具所需的FederationMetadata.xml文件以及两个项目都知道的FederationMetadata服务中查找。似乎应该有一些东西可以使这些设备在不需要手动干预的情况下正确配置

注:已经构建了一个示例来证明导致这些问题的问题

<ws2007FederationHttpBinding>
  <binding name="">
    <security mode="Message">
      <message>
        <issuerMetadata address="https://localhost/adfs/services/trust/mex" />
       </message>
     </security>
   </binding>
 </ws2007FederationHttpBinding>
      <message>
        <issuer address="https://localhost:44300/issue/wstrust/mixed/username" binding="ws2007HttpBinding" bindingConfiguration="" />
        <issuerMetadata address="https://localhost:44300/issue/wstrust/mex" />
      </message>