为什么 Azure AD B2C 为 Gmail 用户或其他 openid 连接用户创建用户?

Why Azure AD B2C creates user for Gmail users or other openid connect users?

我正在使用 Azure B2C 通过 OpenID onnect(预览版)提供程序连接我自己的 openid 连接服务器。我配置了所有东西,系统工作正常。

但有一件事是,当新用户通过我自己的 openid 连接服务器登录时,Azure AD B2C 在连接到 Azure B2C 的 Azure AD 中创建该用户。

我的意图是,我的客户端应用程序必须调用 Azure B2C。 Azure B2C 应显示身份提供者列表。这些提供商之一是我自己的 openid 连接服务器。然后用户可以在我自己的 openid 连接服务器中输入他的凭据并验证并 return 使用 id_token 返回到 Azure B2C。在此步骤之后,Azure AD B2C 要求我在 Azure AD 中创建此用户。为什么会这样?

我无法向任何中间系统提供我的用户详细信息。请帮我解决这个问题。

同样的情况也发生在 gmail 用户身上。但仅限首次登录或我们更改某些登录策略属性时。

根据我的经验,即使对于经过外部身份验证的用户(社交登录),AAD B2C 也总是在其本地存储(实际上是 Azure AD 目录)中创建一个对象。我不能权威地说,但有几个原因是 1) 为用户生成和维护不可变 ID 的能力,该 ID 在某种程度上独立于社交 IdP,以及 2) 收集和存储额外属性的能力无法从社交 IdP 获得。

我相信您可以让您的用户看不到该过程 - 不一定需要提示他们输入其他属性或创建用户 - 但它仍会在后台发生。