好的,所以我提出了一个非常简单的asp.net和wcf服务来使用和STS进行身份验证,但是,我想知道如果以编程方式配置它我怎样才能实现相同目的。
我知道我需要在web.config中获得某些信息,我也可以从我的客户端看到我可以访问命名空间Microsoft.Identity.Configuration命名空间...但是有一点步行实际上有一个配置的应用程序,如果有人走过那个,我全都耳朵
第一个也是最重要的里程碑是以编程方式配置要使用的sts,然后是应用程序的实际地址(audienceUrl和wsFederation-> realm),然后是证书 certificateReference 和 trustedIssuers 部分
干杯
答案 0 :(得分:0)
在创建配置时,您需要动态配置所需的模块(WSFederationAuthenticationModule和SessionAuthenticationModule)。部分原因是需要动态设置签名证书(请记住,它需要安装在RP所在的服务器上,并具有正确的权限,以便RP可以访问证书的私钥)。后一部分在这个问题中被问到:Change certs of WCF service on the fly, no downtime。我没有解决这个问题,但是(FWIW)我的直觉告诉我你无法动态更改证书。
最重要的是,我认为至少在没有重大努力的情况下就可以做到这一点。我最近为实现轻松创建新RP应用程序而实施的一个解决方案是创建一个NuGet包,可以添加到项目中,该项目将根据组织标准配置新应用程序(使用已知的STS,cert指纹等)。
@Rice Flour Cookies提到联邦元数据,您不一定需要元数据,但在自动配置时它会有所帮助。