42

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

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

2 回答 2

32

带有 SAML 的典型 SSO 称为 Web SSO 配置文件。市场上有许多支持此功能的产品,例如 OpenAM、Shibboleth、OpenSAML 和 Oracle Identity Federation。具体配置取决于您选择使用的产品。我在书中使用的 OpenSAML 工作示例可在此处获得。

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

然后通过四个步骤完成 SSO:

  1. SP 发现用户没有经过身份验证的会话。
  2. SP 使用 SAML AutnRequest 作为 URL 参数将用户重定向到 IDP。
  3. IDP 对用户进行身份验证,并使用 URL 参数中的工件将其重定向回 SP。
  4. SP 使用 ArtifactResolveRequest 将 Artifact 通过 SOAP 交换到 IDP 上的断言。

如果您想自己用 Java 编写代码,可以使用 OpenSAML。在我的博客上,我有很多关于如何使用它的示例。

在我的《OpenSAML 指南》一书中,我写了很多关于此的内容

编辑这本书的新版本已经出版,涵盖 OpenSAML v3

于 2013-09-15T09:11:58.037 回答
6

您可以简单地按照本手册中的步骤操作,这将帮助您在本地服务提供者和公共身份提供者之间创建一个简单的 SAML 2.0 联合。

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

还有许多其他关于 SAML 的良好信息来源,例如上面提到的 Stefan 的博客。

于 2014-07-16T14:48:38.897 回答