如何将openam配置为身份提供程序(IdP)以测试基于SAML的SSO

hri*_*esh 5 saml single-sign-on openam

我正在尝试将openam配置为身份提供程序来测试我的基于SAML的服务提供程序应用程序.

我搜索了很多,看到了openam的文档.openam支持很多东西,这可能是我现在不需要的东西.我不想阅读整篇文档,这些文档需要花费大量时间阅读我现在不想测试的内容.我甚至在http://docs.forgerock.org/en/openam/10.0.0/admin-guide/index/index.html上看到了聊天9"管理SAML 2.0 SSO" 但是在此之前需要配置很多东西. .

有没有快速入门指南来测试它作为基于saml的IdP?

编辑

不是很快,详细也很好.但我希望OpenAm成为身份提供者.SP是我们开发的Jetty上托管的应用程序.还要告诉我,我必须在SP上做些什么改变,比如应用程序的URL应该响应什么.

Pet*_*jor 3

对于你的问题,确实没有一刀切的答案。设置 SAMLv2 联合很大程度上取决于实际的 SP 实现,有些 SP 可以使用 SAML 元数据,有些则不能。在两个 OpenAM 实例之间设置联合以供参考的最简单方法如下:

  • 在节点 1 上创建托管 IdP 向导
  • 在节点 2 上创建托管 SP 向导
  • 在两个节点上删除持久的 NameID-Format,因此两个节点上的列表顶部都会有瞬态的
  • 在node1上注册远程SP向导,URL:node2/openam/saml2/jsp/exportmetadata.jsp
  • 在 Node2 上注册远程 IdP 向导,URL:node1/openam/saml2/jsp/exportmetadata.jsp
  • 在节点 2 上的托管 SP 设置中将临时用户设置为“匿名”

毕竟,您可以使用以下方法测试联合:

  • 节点 2 上的 /openam/spssoinit?metaAlias=/sp&idpEntityID=node1_entityid
  • 节点 1 上的 /openam/idpssoinit?metaAlias=/idp&spEntityID=node2_entityid

我使用了默认的 metaAlias 值,但这些值应该在控制台页面上可见。同样,通过下载元数据,您可以查看给定实体的实际实体 ID。

基于此,您现在应该看到,使用 OpenAM IdP,您至少可以使用 idpssoinit URL 测试 SAML 支持(如果您的 SP 支持未经请求的响应),但从其他方式来看,它很大程度上取决于您需要的 SP 实现方式实际触发 SAML 身份验证。