我的目标是在我的 Web 应用程序中实现 SSO 服务提供者,但我无法理解将 Google 作为身份提供者与其他 IdP 的 SSO。
我创建了两个 POC,一个使用 SAML,另一个使用 OpenID Connect。两者似乎都运作良好。
我注意到,对于我测试过的身份提供程序(OneLogin、Okta),对于两种 SSO 方法(OIDC、SAML),我需要在 IdP 上创建一个应用程序并为该应用程序分配授权用户。当用户尝试登录时,只有当他们是授权用户之一时才会成功。这实质上意味着我不必在我的应用程序中管理邀请和授权用户,因为它被委托给身份提供者上定义的应用程序。
但是,使用 Google 作为 IdP 提供商时,SAML 应用程序没有“分配的用户”部分,而使用 OpenID Connect,我什至不需要创建可以管理用户的应用程序(只需 OAuth 2.0 凭据)。这基本上意味着使用谷歌作为身份提供者,我需要在内部管理授权用户,因为谷歌授权任何使用谷歌登录的用户并同意共享他们的个人数据。
如果有人可以揭开这种行为的神秘面纱,我将不胜感激。听起来很奇怪,我必须根据我的 IdP 来更改联合身份的授权流程!