使用 OAuth 作为协议和 OpenAM 作为 SP 的联盟

Federation using OAuth as protocol and OpenAM as SP

我想知道是否有可能使 OpenID 连接联合OpenAM。我没有在这个主题中找到任何东西,在我看来,OpenAM 只允许 SAML、Liberty ID-FF 和 WS-Federation 的联合。

那么是否可以像我们在 WSO2 中那样将 OpenID Connect 与 OpenAM 联合起来?如果可以,怎么做?

这是一张说明我的需求的图片。您可以在下面看到两家公司的架构,其中每家公司都有自己的 IdP 和一些 SP。在红色部分,您会看到我想要进行的交流:

  1. 公司 1 的客户端尝试访问公司 2 的 SP 供应
  2. 提供检查他是否有会话,如果没有(就是这样) 将他重定向到 company2
  3. 的 idp
  4. 公司 1 的 IdP 联合 对 IdP 的身份验证 公司 2
  5. 在 IdP 1 和客户端之间进行了身份验证
  6. 向 IdP 2 提供令牌以证明身份验证成功。 IdP2 然后为客户端创建会话
  7. 同样的事情发生在 IdP2 和 Supply 之间
  8. 请求的资源终于返回给客户

感谢您的回复

首先让我澄清一下我正在尝试做的事情:Double Federation(SP 和 IDP2 之间的联盟,IDP2 和 IDP1 之间的联盟)。这仍然是一种罕见的情况,您希望您的客户在两个 IDP 中都有会话,并且您希望为您的服务提供商抽象 SSO 的复杂性。

由于这种情况很少见且未包含在协议中,因此 OpenAM 尚未实现此功能。您将不得不增加供应 (SP) 的复杂性,因此它将有两个客户端 ID(每个 IDP 一个)并且客户端需要选择他的 IDP 或在 SP 的 url 中注入客户端 ID。

一些注意事项:

使用双联盟时,您需要确保企业 1 的客户不会访问企业 2 应私有的服务提供商。