当我们使用 Graph API 在 Active Directory 中创建用户时,一些字符会附加到用户名 (#EXT#)。这使得无法在 AD B2C 的界面中编辑用户(记录的问题)或使用 ADAL 2.23(Active Directory 身份验证库)进行登录。
unknown_user_type
特别是,我们使用AcquireToken(username, password)
方法时会出现错误( )。错误如下:
为什么会这样?这个问题有什么解决方案或解决方法吗?
问候。
当我们使用 Graph API 在 Active Directory 中创建用户时,一些字符会附加到用户名 (#EXT#)。这使得无法在 AD B2C 的界面中编辑用户(记录的问题)或使用 ADAL 2.23(Active Directory 身份验证库)进行登录。
unknown_user_type
特别是,我们使用AcquireToken(username, password)
方法时会出现错误( )。错误如下:
为什么会这样?这个问题有什么解决方案或解决方法吗?
问候。
具有#EXT#
UserPrincipalName(UPN,在多个地方也被含糊地称为“用户名”)的用户通常是来自其他身份提供者的用户。这包括:
常规目录
如果您的应用程序知道用户尝试登录的 Azure AD 目录,并且您使用的是特定于租户的端点,而不是与租户无关的端点,则情况 (1) 和 (2) 中的用户应该能够使用 ADAL 登录应用程序。登录时,他们将使用 MSA 或其“主”目录中的常规用户名。https://login.microsoftonline.com/<domain or ID>
https://login.microsoftonline.com/common
示例:bob@contoso.com
来自 directory的 Usercontoso
被添加为 directory 中的外部用户fabrikam
。这会导致用户fabrikam
使用 UPN bob_contoso.com#EXT#@fabrikam.onmicrosoft.com
,但您不必担心这一点。当他们登录到信任的应用程序时https:/login.microsoftonline.com/fabrikam.onmicrosoft.com
,他们只需bob@contoso.com
以contoso
.
B2C 目录
Azure AD B2C 感知应用程序始终使用特定于租户的端点,但它使用较新的“v2”OAuth 2.0 端点:
https://login.microsoftonline.com/<domain or ID>/oauth2/v2.0/authorize
https://login.microsoftonline.com/<domain or ID>/oauth2/v2.0/token
同样——用户将始终使用他们的家庭身份提供者登录。
重要提示:请记住,Azure AD B2C 当前处于预览阶段(截至 2106 年 3 月)。
TL;博士:
如果用户的 UserPrincipalName 包含 ,则实际上不应该有任何需要更改的情况#EXT#
,因为这意味着这实际上不是他们在登录时输入的用户名。