在Java中实现SAML SSO

时间:2015-04-07 07:15:22

标签: java authentication saml

我有一个应用程序(AppA),需要通过另一个应用程序(AppB)访问URL。

AppB是服务提供商,也有身份提供商。

我想创建一种自动访问AppA的URL的应用程序。

我知道在SAML协议中,在服务提供商向用户(在本例中为我的应用程序)提供验证URL后,用户需要使用用户密码登录。我想知道是否有实现此标志的通用方法,或者我必须使用我已经拥有的用户和密码实现类似POST请求的内容?

1 个答案:

答案 0 :(得分:0)

在SAML世界中,您有一个身份决策点(idp),一个策略决策点(pdp)和一个策略执行点(pep)以及一个您想要调用的服务。 idp以用户可以证明其身份的方式提供身份验证。 pdp信任idp并将决定用户将提供哪个级别的授权来提供有效的idp文档。 pep将根据pdp文档允许或拒绝访问服务。

联系服务的一般流程是直接调用它,从而导致not authorized响应。结果应包括有关已接受的pdps的信息。接下来调用pdp,它将提供接受idps的信息。客户端然后联系idp并代表用户进行身份验证。由idp签名的结果文档将传递给pdp。然后,来自pdp的签名响应将再次传递给服务。服务十与pep联系文件。

在现实世界中,积分可能不是单一实例,而是合并。所以服务也可能包括一个pep,或idp也可以是pdp。

请看看您的架构/基础架构。