【问题标题】:OpenID Connect User MappingOpenID Connect 用户映射
【发布时间】:2019-04-14 16:25:24
【问题描述】:

目前,我的组织使用许多网络应用程序/移动应用程序/API,其中一些通过内部 IdP 进行身份验证,而另一些则使用第三方专有系统(我们无法控制)。

我们被要求为这些 Web 应用程序实施 SSO,因此我一直在阅读 OpenID Connect。我相信这将是比 SAML 更好的解决方案,因为 (a) 最终用户并不总是企业用户,并且 (b) SAML 不是为移动应用程序设计的。

我相信我对流程的理解相当不错,但有一个症结所在。为了允许用户使用外部 IdP 进行身份验证,我们需要将用户映射回我们的内部 id。例如,用户使用 OIDC/Google 进行身份验证,导致我们收到用户唯一的 Google 标识符(以及电子邮件等,如果我们进一步查询),但这对我们没有用,直到我们可以将 Google 标识符映射回我们的内部客户 ID。

此映射是否超出了 OIDC 的范围?如果是这样,是否有这样做的最佳实践方法?我敢肯定,我们并不孤单……

谢谢, 约翰

【问题讨论】:

    标签: single-sign-on openid-connect


    【解决方案1】:

    此映射是否超出 OIDC 的范围?

    简短的回答,是的。!如果您的后端需要与内部身份详细信息进行比较/验证,则必须在 OpenID Connect(OIDC) 协议的范围之外进行。 OIDC 只是定义了获取令牌(ID 和访问令牌)的过程,这些令牌是身份验证和授权所必需的。

    是否有执行此操作的最佳实践方法?

    一种选择是使用带外目录同步。例如,Google 提供商Google Cloud Directory Sync (GCDS),它允许您将身份详细信息同步到 LDAP 或 MS Active Directory。其他替代方法是使用SCIM 协议来动态通信和配置用户。例如Google provide that support as well

    或者,您可以在收到代币时使用即时供应。这种支持将取决于您的身份提供者实施。例如,WSO2 身份服务器同时支持JIT provisioning 和 SCIM。

    【讨论】:

    • 感谢卡文杜的回复。我以为我对 OpenID Connect 的要求太多,无法说明如何执行此操作,但很高兴得到确认。我将研究 GCDS、JIT 配置和 SCIM。
    • @John 每个问题都有其价值,并不是每个人都有时间深入探索这些协议。很高兴为您提供帮助。
    猜你喜欢
    • 2018-04-17
    • 2021-01-01
    • 2019-02-19
    • 2011-05-16
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    相关资源
    最近更新 更多