当前,我的组织使用许多Web应用程序/移动应用程序/ API,其中一些通过内部IdP进行身份验证,而另一些使用第三方专有系统(我们无法控制)进行验证。
我们被要求为这些Web应用程序实施SSO,因此我一直在阅读OpenID Connect。考虑到(a)最终用户并不总是企业用户,并且(b)SAML不是为移动应用程序设计的,因此我认为这将是比SAML更好的解决方案。
我相信我对流程很了解,但有一个难点。为了允许用户使用外部IDP进行身份验证,我们需要将用户映射回我们的内部ID。例如,用户使用OIDC / Google进行身份验证,从而导致我们收到用户的唯一Google idenitifer(如果进一步查询,还会收到电子邮件等),但这对我们没有用,除非我们可以将Google标识符映射回我们的内部客户ID。
此映射是否超出OIDC的范围?如果是这样,是否有最佳实践方法?我敢肯定我们并不孤单。
谢谢, 约翰
答案 0 :(得分:0)
此映射是否超出OIDC的范围?
简短的回答,是的!如果您的后端需要与内部身份详细信息进行比较/验证,则必须在OpenID Connect(OIDC)协议的范围之外进行。 OIDC只需定义获取令牌(ID和访问令牌)的过程,这是身份验证和授权所必需的。
是否有最佳实践方法?
一种选择是使用带外目录同步。例如,谷歌提供者Google Cloud Directory Sync (GCDS),它允许您将身份详细信息同步到LDAP或MS Active目录。另一种选择是使用SCIM协议来动态通信和供应用户。例如Google provide that support as well。
或者,您可以在收到令牌时使用即时供应。此支持将取决于您的身份提供商的实施。例如,WSO2身份服务器同时支持JIT provisioning和SCIM。