【问题标题】:Can you recommend a SAML 2.0 Identity Provider for test?你能推荐一个 SAML 2.0 身份提供者进行测试吗?
【发布时间】:2010-11-10 16:29:34
【问题描述】:

我正在实施 SAML 2.0 服务提供者,需要安装 SAML 2.0 身份提供者进行测试。鉴于这种需求,Identity Provider 最好是免费的(或有试用期)并且易于设置和配置。

我正在寻找基本的单点登录和单点注销功能。

我已经尝试过 Sun Opensso Enterprise。价格合适,但到目前为止,配置起来简直就是一场噩梦。此外,它的错误消息和日志记录还有很多不足之处,我经常解决一个基本上归结为配置错误或违反直觉的默认设置的问题。

【问题讨论】:

标签: testing single-sign-on saml


【解决方案1】:

我正在使用 Keycloak (https://www.keycloak.org/)。

  • 开源
  • 独立应用程序
  • 易于配置

【讨论】:

    【解决方案2】:

    您可以将Auth0 配置为 SAML IdP。设置is straight-forward 并提供免费套餐。

    【讨论】:

      【解决方案3】:

      看看this answer

      简而言之,samling 是一个无服务器 SAML IdP,用于测试任何 SAML SP 端点。它支持 AuthnRequest 和 LogoutRequest。它仅在浏览器中运行,以模拟从 SAML IdP 返回的 SAML 响应 - 无需注册,无需服务器,只需一个浏览器,允许您控制响应的许多方面 - 从成功到各种失败。

      【讨论】:

        【解决方案4】:

        使用samlidp.io,它非常适合免费测试,您可以通过添加自定义 SP 的元数据来设置自己的 IdP,仅此而已。

        【讨论】:

        • @MohammadAkbari 我看不出这个答案有任何缺陷。 OP 要求推荐,sitya 提供了一个
        • 链接似乎已离线(2021 年 12 月 3 日)。
        【解决方案5】:

        长期以来,我一直在努力测试 SAML2 集成,并使用了 OpenSSO。自从我发现 OKTA 用于测试应用程序http://okta.com/ 之后,我就再也没有回头。它非常完美,易于使用,您还可以创建不同的用户并将自定义属性发送回 SP。

        OpenSSO 不好。首先,您有那些甚至没有意义的荒谬验证码。 SSOCircle 不允许您发送自定义属性,也不允许您使用 SHA-256 加密,就我所见。 OpenSSO 不会为您提供有关错误消息的任何帮助,除非您为其 debug 功能付费(考虑到应用程序的其余部分运行不佳,这可能很糟糕)。

        【讨论】:

          【解决方案6】:

          我建议使用 OpenAm https://backstage.forgerock.com/#!/downloads/OpenAM/OpenAM%20Enterprise#browse 在 tomcat 实例上本地安装。在几个小时内设置和启动并运行它非常容易。

          【讨论】:

            【解决方案7】:

            您可以使用托管测试平台,例如TestShibOpenIdP,而不是安装和配置 IdP。两者的工作方式相同,但 OpenIdP 要求您注册。

            1. 生成您的 SAML 元数据 XML 文件。
            2. 通过 uploading your metadata XML file 向 IdP 注册您的 SP。
            3. 通过downloading their metadata XML file 向您的 SP 注册 IdP。

            【讨论】:

            • 我认为这让我非常接近,如果我能弄清楚在 OpenIdP 实体 id 使用什么。
            • 或者,如果我能弄清楚最终的断言并绕过,“无法将主题映射到 Salesforce.com 用户。”
            • 或者你可以使用Centrify IDP进行测试,在这里注册:centrify.com/cloud/cloud-service-registration.asp;给自己找一个免费的租户,然后您可以创建几个用户,添加一个通用应用程序 (cloud.centrify.com/vfslow/lib/docs//appref/wwhelp/wwhimpl/js/…),您可以将其绑定到您的 SP 并进行测试。
            • OpenIdP 不再工作:“重要 OpenIdP 已关闭。不再可以使用它来测试您的 SAML 服务提供商。如果您将其用于此目的,则需要寻找替代品。”
            【解决方案8】:

            你可以试试 LemonLDAP::NG (http://lemonldap-ng.org)

            它针对大多数 Linux 发行版打包,因此易于安装和设置。

            【讨论】:

              【解决方案9】:

              您在配置 OpenSSO 时遇到什么问题?我发现 OpenSSO 是最简单的设置!

              我关于启动和运行基本 IDP 的说明如下 - 希望它们能帮助您启动和运行。

              迈克尔


              我发现最好(即最无痛)的方法是......

              1. 使用 Glassfish - 这是 OpenSSO 的良好支持容器 - 使用开发人员配置文件让您的生活更轻松 - 使用下载页面上记录的快速设置步骤
              2. 按照基本说明部署 OpenSSO(解压缩 zip - 将 war 文件部署到默认域)

              我使用以下设置步骤(我使用 OpenSSO build 7):

              • 在“自定义配置”下,单击“创建新配置”。
              • 在密码和确认字段中输入密码“adminadmin”。点击下一步。
              • 在“服务器设置”中,保留默认设置(或根据需要进行编辑),然后选择“下一步”。
              • 在配置数据存储中,保留默认值(或根据需要进行编辑)并选择下一步。
              • 在用户数据存储中,选择“OpenSSO 用户数据存储”。点击下一步。
              • 在站点配置中,选择否(此安装将不使用负载平衡器)。点击下一步。
              • 在默认代理用户中,输入 admin123 作为密码并确认密码。点击下一步。
              • 点击“创建配置”。
              • 点击“继续登录”。
              • 以“amadmin”身份使用密码“adminadmin”登录。

              以上说明基于http://developers.sun.com/identity/reference/techart/opensso-glassfish.html

              您现在已经掌握并运行了基础知识。在 / 被调用的用户下创建一个子域,并在其中创建一个或两个帐户。

              现在准备您的 SP 元数据。开始时不要在元数据中添加太多 - 保持简单。

              在 GUI 的默认页面中,选择创建托管 IDP。这是一个非常基本的工作流程。您应该指定您的 /users 领域并选择使用测试密钥别名进行签名。您创建的信任圈可以说是无足轻重的。

              当您完成工作流程时,系统会询问您是否要为 SP 导入元数据 - 说是并选择从您准备好的元数据文件中导入。

              在这个阶段你应该已经准备好了。

              接下来您需要获取 IDP 元数据。有几种方法可以做到这一点。您可以使用“http://servername:8080/opensso/ssoadm.jsp?cmd=export-entity”或“http://servername:8080/opensso/saml2/jsp/exportmetadata.jsp?realm=/users”。

              ...设置就差不多了。

              如果您遇到与 OpenSSO 互操作的问题,您可以查看 OpenSSO 数据目录(默认为 ~/opensso)。那里的子目录中有调试和日志记录信息。您可以使用 OpenSSO Wiki 交叉引用该信息,其中包含一些非常好的故障排除信息。

              【讨论】:

              • 我想到目前为止,我使用 OpenSSO 的最大问题要么是接受我的 SP 元数据,要么是我无法在身份验证失败发生时追踪其根源。首先,OpenSSO 抱怨我的元数据中的元素应该没问题,但没想到。例如 SingleLogoutService 和其他一些组织元数据。我将查看 ~/opensso 和 wiki 中的日志。谢谢你。
              • 嗨,史蒂夫,如果您在 ~/opensso 下找不到足够的信息,您应该可以转到 servername:8080/amserver/Debug.jsp 来提高调试级别。我也有不少元数据问题——这就是为什么我建议(非常)简单地开始。一旦我了解了 OpenSSO 中的元数据和配置应该是什么样子,事情就开始变得更有意义了。
              • 史蒂夫,您是否在 OpenSSO 邮件列表上寻求过帮助?订阅: 1. 转到dev.java.net/servlets/Join 并注册一个java.net 帐户。 2. 转到opensso.dev.java.net/servlets/ProjectMembershipRequest 并在 OpenSSO 上请求“观察者”角色。 3.转到opensso.dev.java.net/servlets/ProjectMailingListList并订阅'users@opensso.dev.java.net'。
              • OpenSSO 项目已成为 OpenAM。由于此页面在我最近进行的几次 Google 搜索中的排名相对较高,所以我想我会做个记录。
              • OpenSSO 已退出,但上述步骤可用于提到的 OpenAM 没有任何问题(我只需要使用第二个链接进行元数据导出,第一个没有用)。感谢您的精彩教程!
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-04-19
              • 2018-08-30
              • 1970-01-01
              • 2018-02-02
              • 2015-08-26
              • 1970-01-01
              相关资源
              最近更新 更多