将 OIDC 和 SCIM 一起使用是否有意义?

问题描述

我希望我的应用程序能够使用来自我的客户 Azure AD 的外部用户池,而不是他们必须在我的应用程序中手动创建每个用户,因为他们已经在 Azure AD 中拥有这些用户

最初,我虽然只使用 OIDC,因为我可以在第一次登录时在我的应用程序中创建用户。但是,当用户在 Azure AD 中被删除时,OIDC 不允许我在我的应用程序中注销和停用用户。这对我的申请很重要。

为了解决这个问题,我想我可以结合 OIDC 和 SCIM:

  1. Azure AD 通过 SCIM 端点将用户配置到我的应用程序。停用后,Azure 会通过 SCIM 端点通知我的应用程序,我可以删除它们的会话并在我的应用程序中停用它们。
  2. 登录由 OIDC 处理。当我有一个有效的 OIDC 令牌时,我会在我的应用程序中创建一个会话。这样我就不必在我的应用中管理密码或多重身份验证。

**同时使用 SCIM 和 OIDC 有意义吗? **

解决方法

是的,按照您描述的方式一起使用 SCIM 和 OIDC 是有意义的。

使用 SCIM 进行“预配置”还有其他优势:例如,当用户想要处理尚未登录的其他用户的帐户时。将此类用户添加到组中将无法使用“即时帐户配置”,因为该帐户(尚不存在)不存在。