为什么RP使用浏览器作为中介,为什么RP在认证之前不能直接重定向到IP,反之亦然?
我想出了一些理由,但无法说服自己......所以问你:)
1)RP和IP无法保持一条连接线(反对:如果RP调用STS Web服务并获取响应数据的话)
2)管理cookie /会话(针对:但RP最终不能返回cookie?浏览器会在每个请求中返回它,从而保持会话),
3)由于数据保护政策(好的),浏览器有责任将凭证传递给IP
4)IP需要知道呼叫者是谁(反对:为什么?)
答案 0 :(得分:2)
因为这是一个非常典型的情况,RP不能直接与IdP通信,例如RP是外部的,用户和IdP在Intranet上。
另一个原因是SSO - 您需要能够在浏览器和IdP之间设置cookie。
答案 1 :(得分:1)
我一直在寻找主动和被动联合会。感谢Eugene.S。在被动联合中,登录窗口需要由lDP提供。因此,从RP到lDp的Web服务调用不会向浏览器(调用者)提供登录窗口。因此,被动联合需要浏览器重定向。
被动联合的另一个惊人发现是RP从不查看用户凭据。它只对令牌/ cookie感兴趣。如果没有找到,则用户转到lDP并在那里提供凭据。正如作者在评论中所提到的(http://blogs.msdn.com/b/mcsuksoldev/archive/2010/07/07/windows-identity-foundation-101-s-ws-federation-passive-requestor-profile-part-1-of-2.aspx)
在Active Federation中,浏览器永远不会离开RP。 RP获取用户凭据并发布到lDP。要使此操作发生,RP需要具有Web服务客户端。 Web服务以lDP(STS)运行。还有一件事让我感到困扰。如果RP可以获得用户凭据,为什么要询问lDP的有效性?为什么RP不能做lDP即将做的事情。例如:RP可以直接询问活动目录,而不是要求ADFS执行此操作(旧的Windows身份验证:P)。但是,“最少特权”让我们了解RP是外在的。因此,我希望lDP用于安全性原因,具有单点联系并将身份验证与所有应用程序(RP)分开
所以我们现在有了浏览器重定向的理由以及无浏览器重定向但是WS调用!!
现在又出现了另一个问题。为什么有两个联合会:主动和被动。什么时候用?我会发现,如果不是,我把它作为一个新问题发布。