OpenID Connect用户映射

4
目前我们的组织使用许多网络应用程序/移动应用程序/API,其中一些针对内部 IdP 进行身份验证,而其他一些则使用第三方专有系统(我们无法控制)。
我们被要求为这些 Web 应用程序实施 SSO,因此我一直在研究 OpenID Connect。考虑到 (a) 终端用户并不总是企业用户,和 (b) SAML 不适合移动应用程序,我认为这将是比 SAML 更好的解决方案。
我相信我已经相当了解流程了,但有一个难点。为了允许用户使用外部 IdP 进行身份验证,我们需要将用户映射回我们的内部 ID。例如,用户使用 OIDC / Google 进行身份验证,导致我们收到用户的唯一 Google 标识符(如果我们进一步查询,则包括电子邮件等),但在将 Google 标识符映射回我们的内部客户 ID 之前,这对我们没有用处。
这个映射是否超出了 OIDC 的范围?如果是,是否有最佳实践方法来做到这一点?我相信我们在这个需求上不是孤立的...
谢谢, 约翰
1个回答

1

这个映射超出了 OIDC 的范围吗?

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

有没有最佳实践的方法来完成这个过程?

一种选择是使用带外目录同步。例如,Google提供商Google Cloud Directory Sync (GCDS),它允许您将身份详细信息同步到LDAP或MS Active目录。另一种选择是使用SCIM协议动态通信和配置用户。例如,Google也提供此支持

或者,您可以在接收令牌时使用即时预配。这取决于您的身份提供者实现是否支持此功能。例如,WSO2身份服务器支持 JIT provisioning和SCIM。


1
感谢您的回复,Kavindu。我认为我对OpenID Connect提出了太多的要求,它无法指定如何完成此操作,但是确认这一点非常好。我将调查GCDS、JIT预配和SCIM。 - John
@John 每个问题都有其价值,但并非每个人都有时间深入探索这些协议。很高兴能够帮助你。 - Kavindu Dodanduwa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接