SAML简单的初学者示例

时间:2013-09-14 11:34:22

标签: java security single-sign-on saml-2.0

我是SAML v2.0技术的初学者,我获得了理论知识,但我没有在Google上找到任何示例。任何人都可以为我提供简单的“SAML for v2.0”的分步示例。

  1. 到目前为止,我已经完成了理论部分,即..,它支持单点登录
     我也了解服务提供商身份提供商
  2. 目前我正在开发 Linux环境
  3. 我需要逐步说明请求如何从用户 - >转移的基本示例  身份提供商 - >服务提供商以及如何配置环境。
  4. 是否可以执行SAML v2.0的示例
  5. 他们是否有机会用Java语言执行SAML示例,如果可能的话,你可以  提供Java上的示例。

2 个答案:

答案 0 :(得分:29)

使用SAML的典型SSO称为Web SSO配置文件。市场上有许多产品支持这种产品,例如OpenAM,Shibboleth,OpenSAML和Oracle Identity Federation。具体配置取决于您选择使用的产品。我在本书中使用的OpenSAML的一个工作示例是可用的here

在SAML级别,SP和IDP交换元数据,其中包含有关SP和IDP如何通信的配置信息。

然后分四步完成SSO:

  1. SP发现用户没有经过身份验证的会话。
  2. SP将用户重定向到IDP,并将SAML AutnRequest作为URL参数。
  3. IDP对用户进行身份验证,并使用URL参数中的工件将其重定向回SP。
  4. SP使用ArtifactResolveRequest向IDP交换使用SOAP的断言的工件。
  5. 如果您想自己用Java编写代码,可以使用OpenSAML。在我的blog上,我有很多关于如何使用它的例子。

    在我的书A Guide To OpenSAML中,我写了很多关于这个

    的文章

    编辑New edition of the book已经发布,涵盖OpenSAML v3

答案 1 :(得分:6)

您只需按照此manual中的步骤操作即可,这将有助于您在本地服务提供商和公共身份提供商之间创建简单的SAML 2.0联盟。

设置完成后,您可以使用它来跟踪IDP / SP之间发送的消息,也可以作为使用Java + OpenSAML + Spring构建的SAML组件的示例。

SAML上还有很多其他很好的信息来源,比如上面提到的Stefan的博客。