适合初学者的 SAML 简单示例
Posted
技术标签:
【中文标题】适合初学者的 SAML 简单示例【英文标题】:SAML simple example for beginners 【发布时间】:2013-09-19 00:37:13 【问题描述】:我是 SAML v2.0 技术的初学者,我获得了理论知识,但我在 Google 上没有找到任何示例。任何人都可以为我提供简单的“SAML for v2.0”的分步示例。
-
到目前为止,我已经完成了理论部分,即它支持单点登录和
我也了解服务提供者和身份提供者。
目前我正在研究 Linux 环境
我需要一步一步的基本示例,请求是如何从 用户移动的 ->
Identity Provider->Service Provider以及如何配置环境。
是否可以执行 SAML v2.0 的示例
他们是否有机会用 Java 语言执行 SAML 示例,如果可能的话,您可以
还提供有关 Java 的示例。
【问题讨论】:
您应该提供更多详细信息。什么语言/平台,到目前为止你尝试过什么,你已经知道理论的哪些元素。如果你不付出更多的努力,这个问题很可能会被关闭。 我认为这个问题显示了很多努力 【参考方案1】:使用 SAML 的典型 SSO 称为 Web SSO 配置文件。市场上有许多支持此功能的产品,例如 OpenAM、Shibboleth、OpenSAML 和 Oracle Identity Federation。具体配置取决于您选择使用的产品。我在书中使用的 OpenSAML 工作示例是可用的 here。
在 SAML 级别上,SP 和 IDP 交换元数据,其中包含有关 SP 和 IDP 如何通信的配置信息。
然后分四步完成 SSO:
-
SP 发现用户没有经过身份验证的会话。
SP 使用 SAML AutnRequest 作为 URL 参数将用户重定向到 IDP。
IDP 验证用户并使用 URL 参数中的工件将其重定向回 SP。
SP 使用 ArtifactResolveRequest 向 IDP 交换 Artifact 以获取基于 SOAP 的断言。
如果您想自己用 Java 编写代码,可以使用 OpenSAML。在我的blog 我有很多关于如何使用它的例子。
在我的书中,A Guide To OpenSAML,我写了很多关于这个的内容
EDIT New edition of the book 已发布,涵盖 OpenSAML v3
【讨论】:
嗨,谢谢您的回复。任何人都可以提供 saml 的逐步示例及其配置。 要使用 SAML,您需要使用一些使用 SAML 协议的软件王。你在用这样的软件吗? 即使我也在寻找类似的东西。我想使用 openSAML 构建自己的 IDP,@Stefan 你的书可以帮助我实现这个方向吗? 这本书介绍了图书馆,并展示了许多 IDP 和 Sp 常见的东西。但是这本书更多地关注Sp。我相信我的书会对你有所帮助。 @StefanRasmusson 任何与 android 相关的示例【参考方案2】:您可以简单地按照此manual 中的步骤操作,这将帮助您在本地服务提供者和公共身份提供者之间创建一个简单的 SAML 2.0 联合。
设置完成后,您可以使用它来跟踪 IDP/SP 之间发送的消息,也可以作为使用 Java + OpenSAML + Spring 构建的 SAML 组件的示例。
还有许多其他关于 SAML 的良好信息来源,例如上面提到的 Stefan 的博客。
【讨论】:
在安卓设备上,出于性能原因,他们建议不要使用 IOC。除了 Spring 之外,还有其他 Android 上的 SSO 示例吗?以上是关于适合初学者的 SAML 简单示例的主要内容,如果未能解决你的问题,请参考以下文章
2022最新IDEA配置Maven及Tomcat--详细简单,适合初学者