【问题标题】:External users ends up twice in Azure AD B2C外部用户在 Azure AD B2C 中出现两次
【发布时间】:2020-04-22 06:45:55
【问题描述】:

我在 Web 应用程序中使用 Azure AD B2C 设置登录,但由于某种原因,我的用户最终在 AD 中出现了两次。事情就是这样发生的。

我使用 Graph API(或使用 Azure 门户,结果相同)邀请新用户 新用户在 Azure 门户的用户列表中显示为 UserType=Guest 和 Source="Invited user"。到目前为止一切顺利。

现在用户接受了邀请。然后将新创建的来宾用户的源更改为“外部 Azure Active Directory”。我觉得没问题。

然后用户登录并完成注册过程(我使用“注册并登录”用户流程)。正在 AD 中创建一个额外的用户。 UserType=Member 和 Source="Federated Azure Active Directory"。

登录正常工作,但我最终得到了 2 个具有相同名称和用户名的用户。一位客人和一位会员。这是它应该如何工作的吗?所有用户都列出了两次,这有点混乱。

我在 ADB2C 中配置了 2 个身份提供程序。电子邮件和 OpenIdConnect。如果用户单击“注册”,他将在 B2C 中创建一个本地帐户。但如果可能,我希望他能够使用他自己组织的凭据,使用 OpenIdConnect 提供程序。

这是 OIDC 提供程序的配置方式 OIDC config

【问题讨论】:

    标签: authentication azure-active-directory azure-ad-b2c


    【解决方案1】:

    当您通过 AAD B2B 来宾邀请功能邀请用户时,您邀请的是 Azure AD 用户,而不是 B2C 用户。 例如,您可以使用邀请功能来邀请其他管理员。

    如果他们不需要进行 B2C 管理,您无需邀请他们。 他们可以直接通过 B2C 注册流程进行注册。

    除了正如我们在 cmets 中讨论的那样,您有大约 30 个不同的 AAD 要使用,并且正在使用 B2C 租户的底层 AAD 作为 IdP。 在这种情况下,您的解决方案基本上是正确的。 邀请 B2C 租户,然后他们可以使用该外部帐户登录。 由于受邀用户不是 B2C 用户,因此会有重复用户。 可能有一些解决方案可以将用户与自定义策略相结合,但老实说,我不确定你会如何做到这一点。

    【讨论】:

    • 感谢您的回答。但是,如果我不先邀请用户,他在尝试登录时会收到此错误:AADSTS50020:来自身份提供者“sts.windows.net/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”的用户帐户“user@domain.dk”在租户“我的 B2C 租户”中不存在,并且无法访问该租户中的应用程序 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyy'(登录应用程序)。需要先将该帐户添加为租户中的外部用户。注销并使用不同的 Azure Active Directory 用户帐户重新登录。
    • 他们在登录/注册时选择了 AAD 作为身份提供者?
    • 我在 ADB2C 中配置了 2 个身份提供者。电子邮件和 OpenIdConnect。如果用户单击“注册”,他将在 B2C 中创建一个本地帐户。但如果可能,我希望他能够使用他自己组织的凭据,使用 OpenIdConnect 提供程序。所以他点击“使用社交帐户登录”,然后他收到了我第一条评论中提到的错误。
    • 该 OIDC 配置可能有问题。您可以在问题中添加它的屏幕截图吗?您可以在上传之前从照片中删除租户 ID、客户 ID 等。
    • 现在已将屏幕截图添加到问题中。
    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多