如何在 bluemix 中使用 SSOCircle 作为 SSO 服务的 IDP?

How to use SSOCircle as an IDP for SSO service in bluemix?

SSOCircle 根据他们的网站提供随时可用的身份提供者。我想模拟 SAML SSO 并将其集成到示例 Liberty 中,用于 bluemix 中的 Java 应用程序。

到目前为止我做了什么:

  1. 已从 "Manage Metadata" 下载 SSOCircle Public IDP 元数据。通过上传文件按钮将其上传到 bluemix SSO 服务,并在 SAML Enterprise 设置中 "Step 1" 下的文本框中输入 https://idp.ssocircle.com/sso

  2. 已在 SAML 企业设置中的 "Step 2" 下下载 SAML 元数据并将其导入 SSOCircle。我使用的 FQDN 是:https://ssocruzgstest-8iotczj2sk-cabc.iam.ibmcloud.com.

编辑** 根据 Martin 的建议将 URL 更改为 https://idp.ssocircle.com/sso/idpssoinit?metaAlias=/ssocircle&spEntityID=https://ssocruzgstest-8iotczj2sk-cabc.iam.ibmcloud.com/idaas/mtfim/sps/idaas/saml20

整合后。我将浏览器指向 https://cruzgsjava1.mybluemix.net,然后单击 "Sign in with SAML Enterprise"。

我被重定向到 https://idp.ssocircle.com/sso/UI/Login?module=peopleMembership&goto=https%3A%2F%2Fidp.ssocircle.com%2Fsso%2Fidpssoinit%3FmetaAlias%3D%2Fssocircle%26spEntityID%3Dhttps%3A%2F%2Fssocruzgstest-8iotczj2sk-cabc.iam.ibmcloud.com%2Fidaas%2Fmtfim%2Fsps%2Fidaas%2Fsaml20。我登录后遇到错误

你的URL错了。我没有看到关于 ssocircle.com 的明确文档,但我找到了一些样本,我可以从中推断出(希望)正确的 URL 模式。这是我用来测试的:

https://idp.ssocircle.com/sso/idpssoinit?metaAlias=/ssocircle&spEntityID=<your SP entity ID>;

您可以通过在第 2 步中下载服务提供商元数据并检查根元素 "md:EntityDescriptor".

的属性 "entityID" 来找到您的 SP 实体 ID

SSOCircle URL 是正确的。错误发生在 bluemix 站点。根据 IBM 知识中心 FBTSML236E 的说法,跟踪日志将指示操作失败。

很可能断言签名验证失败。 SSOCircle 签名证书本身不是自签名的,而是由其自己的 CA 签名的。 可能是 bluemix 正在验证整个证书链,因此需要 CA 证书。您可以在登录后从 SSOCircle 网站获取它,然后在 'My certificate status' 下您会找到一个 link 到 CA 证书。

如果还是不能解决问题。向 IBM 检查 SAML 响应是如何验证的。 SSOCircle public IDP 默认签署 SAML 断言。可能是 bluemix 有不同的要求(例如签署 SAML 响应)