Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SAML2 SSO断言使用者_Java_Single Sign On_Saml 2.0_Openam_Shibboleth - Fatal编程技术网

Java SAML2 SSO断言使用者

Java SAML2 SSO断言使用者,java,single-sign-on,saml-2.0,openam,shibboleth,Java,Single Sign On,Saml 2.0,Openam,Shibboleth,我有一位客户希望使用基于SAML2断言的方法实现SSO。客户将是身份提供商(IDP),而我的应用程序实际上是服务提供商(SP) 在过去,我实施了SSO解决方案,其中IDP是Oracle Access Manager,因此我们获得了IDP.xml文件,该文件允许我们使用提供的Fedlet配置SP环境。这方便地创建了一个相关的WAR文件,在部署该文件时,我可以将sp.xml文件分发给将其导入其IDP的客户。这一切都很好,我理解其中的概念,即我们收到初始请求,fedlet处理该请求并将用户带到IDP进

我有一位客户希望使用基于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和cert文件,要求我们提供“AssertionConsumerServiceURL”和“AudienceURI”

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

任何指针都会非常有用

谢谢,
Lee

正如您所知,OpenAM还提供了FedLet,这是一个轻量级的SAML2.0 SP实现。如果您想自己完成这一切,您必须自己构建一个SAML2.0 SP


如果您想摆弄Spring,还可以使用Spring安全SAML2扩展。“

您可能知道OpenAM还提供了FedLet,这是一个轻量级SAML2.0 SP实现。如果您想自己完成这一切,您必须自己构建一个SAML2.0 SP


如果您想摆弄Spring,还可以使用Spring Security SAML2扩展。“

为什么要推出那些繁重的SAML解决方案?您看过Ping Identity中的PingOne AP(应用程序提供商服务)或PingFederate吗?您可以在不到一天的时间内实现APS,并且您的第一个客户配置是免费的。包括仪表板报告、用于配置的IDP自助服务功能以及用于应用程序的简单REST API集成。[注:我为Ping工作。]

为什么要推出那些重型SAML解决方案?您看过Ping Identity中的PingOne AP(应用程序提供商服务)或PingFederate吗?您可以在不到一天的时间内实现APS,并且您的第一个客户配置是免费的。包括仪表板报告、用于配置的IDP自助服务功能以及用于应用程序的简单REST API集成。[注:我为Ping工作。]

取决于您的要求。OpenamFeldlet或Shibboleth我可能是最好的方法,因为您不必自己编写这么多代码

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

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

听众的防御是相当灰色的。基本上,您向他们发送一个标识符,他们在其消息中包含该标识符,您验证该标识符是否与您给他们的相同。我自己不明白这和目的地之间的区别


我有点惊讶他们问你这个。第一次交换信息的标准方法是通过SAML元数据文档。

取决于您的需求。OpenamFeldlet或Shibboleth我可能是最好的方法,因为您不必自己编写这么多代码

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

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

听众的防御是相当灰色的。基本上,您向他们发送一个标识符,他们在其消息中包含该标识符,您验证该标识符是否与您给他们的相同。我自己不明白这和目的地之间的区别


我有点惊讶他们问你这个。第一次交换信息的标准方法是通过SAML元数据文档。

您可以设置Spring Security SAML扩展。扩展将创建一个AssertionConsumerServiceURL,如果他们希望像您访问他们的元数据一样访问您的元数据,他们只需要访问www.yourwebsite.com/saml/metadata,您的SP元数据将由他们下载。

您可以设置Spring Security saml扩展。扩展创建了一个AssertionConsumerServiceURL,如果他们想像您访问他们的元数据一样访问您的元数据,他们只需要访问www.yourwebsite.com/saml/metadata,您的SP元数据将由他们下载。

嗨,Stefan,是的,我也很惊讶他们会这样做。在我看来,他们推出了自己的IDP解决方案,而不是使用现成的解决方案(如OpenAM等),而且他们的解决方案没有IDP元数据。因此,我从他们发送的证书中提取了X509证书,并试图代表他们构建IDP元数据。然后我将其导入到OpenAM fedlet并部署到Tomcat。他们正在尝试运行IDP启动的SSO,但我得到了“响应中的颁发者无效”,我现在正在尝试对其进行故障排除。IPD启动的SSO?不是SP启动的吗?Issuer的问题是SAML响应中的Issuer必须与IDP的entityID相同。谢谢。我已经用I更新了entityID