gpt4 book ai didi

Azure AD 将 '#EXT#' 附加到 UserPrincipalName

转载 作者:行者123 更新时间:2023-12-01 23:31:02 25 4
gpt4 key购买 nike

当我们使用 Graph API 在 Active Directory 中创建用户时,一些字符会附加到用户名 (#EXT#)。这使得无法在 AD B2C 界面 ( documented problem ) 中编辑用户或使用 ADAL 2.23(Active Directory 身份验证库)进行登录。

AD B2C interface problem

特别是,当我们使用 AcquireToken(username,password) 方法时,会出现错误 (unknown_user_type)。错误如下:

ADAL error

为什么会发生这种情况?对于这个问题有什么解决方案或解决方法吗?

问候。

最佳答案

拥有 #EXT# 的用户UserPrincipalName(UPN,在一些地方也被含糊地称为“用户名”)中的用户通常是来自其他身份提供商的用户。这包括:

  1. 常规目录:使用 Microsoft 帐户 (MSA) 添加的用户
  2. 常规目录:Azure AD 中其他目录的用户
  3. B2C 目录:几乎所有 B2C 用户都有此

常规目录

如果您的应用程序知道用户尝试登录的 Azure AD 目录,并且您正在使用特定于租户的端点 https://login.microsoftonline.com/<<i>domain or ID</i>> ,而不是与租户无关的端点 https://login.microsoftonline.com/common ,情况 (1) 和 (2) 中的用户应该能够使用 ADAL 通过应用程序登录。登录时,他们将使用 MSA 或其“主”目录中的常规用户名。

示例:用户<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a2c0cdc0e2c1cdccd6cdd1cd8cc1cdcf" rel="noreferrer noopener nofollow">[email protected]</a> ,来自目录contoso ,作为外部用户添加到目录 fabrikam 中。作为用户,这会导致 fabrikam与 UPN bob_contoso.com#EXT#@fabrikam.onmicrosoft.com ,但您不必担心这一点。当他们登录到信任 https:/login.microsoftonline.com/fabrikam.onmicrosoft.com 的应用程序时,他们只需登录 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5a3835381a3935342e35293574393537" rel="noreferrer noopener nofollow">[email protected]</a>并使用 contoso 中的普通密码.

B2C 目录

Azure AD B2C 感知应用程序始终与特定于租户的终结点配合使用,但它使用较新的“v2”OAuth 2.0 终结点:

  • https://login.microsoftonline.com/<<i>domain or ID</i>>/oauth2/v2.0/authorize
  • https://login.microsoftonline.com/<<i>domain or ID</i>>/oauth2/v2.0/token

再次强调——用户将始终使用其家庭身份提供商登录。

重要提示:请记住,Azure AD B2C 目前处于预览版状态(截至 2106 年 3 月)。

TL;DR:

如果用户的 UserPrincipalName 包含 #EXT#,您实际上不应该有任何想要更改它的情况。 ,因为这意味着这实际上不是他们登录时输入的用户名。

关于Azure AD 将 '#EXT#' 附加到 UserPrincipalName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35727866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com