gpt4 book ai didi

java - SAML2 SSO 断言使用者

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:11 24 4
gpt4 key购买 nike

我有一位客户想要使用基于 SAML2 断言的方法来实现 SSO。客户将是身份提供商 (IDP),而我的应用程序实际上将是服务提供商 (SP)。

过去,我实现过 SSO 解决方案,其中 IDP 是 Oracle Access Manager,因此我们获得了 idp.xml 文件,该文件允许我们使用提供的 Fedlet 配置 SP 环境。这方便地创建了一个相关的 WAR 文件,部署该文件后,我可以将 sp.xml 文件分发给将其导入 IDP 的客户。这一切都运行良好,我理解这些概念,即我们收到初始请求,fedlet 处理该请求并将用户带到 IDP 进行身份验证,然后将它们通过 SAML 响应传回我们的 SP,Fedlet 允许我们解析和提取一些识别用户的数据。然后,我执行所需的操作,将它们登录到我们的应用程序中。

然而,当前的要求不是使用任何后端框架来提供 IDP,他们已经声明它是定制的。他们向我提供了 IDP URL 和证书文件,并要求提供我们的“AssertionConsumerServiceURL”和“AudienceURI”。

我启用 SSO 的应用程序主要基于 Java。到目前为止,我的调查让我找到了 Forgerock 的 OpenAM 解决方案以及 Shibboleth 的 OpenSAML。然而,我在第一步中遇到了困难,基本上是从哪里开始构建使用 OpenAM/Shibboleth/AnotherFramework 连接到第三方 IDP 的自定义 SP 应用程序。

任何指针都会非常有用。

谢谢,李

最佳答案

取决于您的要求。 OpenAM feldlet 或 Shibboleth 可能是最好的方法,因为您不必自己做那么多编码。

OpenSAML 是一个用于处理 SAML 消息的非常低级的工具包。如果不是真的需要,我不会推荐它。

对于他们要求的内容,AssertionConsumerServiceURL 是您接收 SSO SAML 消息的服务端点。

AudienceURI 的定义相当灰色。基本上,您向他们发送一个标识符,他们将其包含在消息中,然后您验证该标识符与您提供给他们的标识符相同。我自己不明白这和目的地之间的区别......

他们向你索要这个,我有点惊讶。首次交换信息的标准方法是通过 SAML 元数据文档。

关于java - SAML2 SSO 断言使用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14942623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com