SAML 初学者简单示例

问题描述 投票:0回答:3

我是 SAML v2.0 技术的初学者,我了解理论知识,但我没有在 Google 上找到任何示例。谁能为我提供一个简单的“SAML for v2.0”的分步示例。

  1. 到目前为止,我已经完成了理论部分,即..,它支持单点登录
    我也了解Service providerIdentity Provider
  2. 目前我正在做Linux环境
  3. 我需要逐步说明请求如何从 user -> 移动的基本示例 Identity Provider->Service Provider以及如何配置环境。
  4. 是否可以执行 SAML v2.0 的示例
  5. 他们是否有机会用 Java 语言执行 SAML 示例,如果可能的话,您可以
    也提供Java的例子。
java security single-sign-on saml-2.0
3个回答
32
投票

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

中找到

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

SSO 然后分四步完成:

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

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

在我的书中,OpenSAML 指南,我写了很多关于这个的文章

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


6
投票

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

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

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


0
投票

什么是单点登录:

单点登录是一个标准化的概念,允许最终用户使用单个入口点访问多个相关但独立的软件应用程序。这意味着最终用户只需登录一次系统,然后无需再次登录即可访问多个应用程序。身份验证过程可以合并到一个组件中,作为每个其他应用程序的网关。它基本上以有效和安全的方式管理最终用户的身份。

了解更多信息阅读更多

© www.soinside.com 2019 - 2024. All rights reserved.