租户“默认目录”中不存在用户帐户

问题描述 投票:0回答:1

我正在尝试使用 nextjs 和 nextauth 构建 Web 应用程序,因此我在我的个人 MS 帐户上创建了一个应用程序注册。我正在使用

AzureADProvider
,但在我输入学校电子邮件的凭据后,我在
https://login.microsoftonline.com/<My project GUID>/login
上收到以下错误消息。

AADSTS50020: User account '<My schools email>' from identity provider 'https://sts.windows.net/<School GUID I guess>/' does not exist in tenant 'Default Directory' and cannot access the application '<My app registration>'(<Project name>) in that tenant. The account needs to be added as an external user in the tenant first. Sign out and sign in again with a different Azure Active Directory user account
目标是能够用我的以及我们学校所有其他学生的帐户登录,所以不需要单独注册,只有学生可以登录,老师可以通过他们的邮件识别学生(因为大多数他们中的一些人会用蹩脚的邮件和用户名注册:/)。

azure azure-active-directory active-directory
1个回答
0
投票

我试图在我的环境中重现相同的内容并得到如下相同的错误:

enter image description here

如果Azure AD应用程序注册为单租户,但其他个人帐户或其他租户用户正在尝试登录,则通常会出现此错误

要解决错误,请尝试以下操作:

我创建了一个Azure AD应用程序作为“任何组织目录中的帐户(任何Azure AD目录-多租户)和个人Microsoft帐户(例如Skype,Xbox)”,如下所示:

enter image description here

对于sample,我使用下面的授权端点来验证用户:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
&client_id=ClientID
&response_type=code
&redirect_uri=https://jwt.ms
&response_mode=query
&scope=https://graph.microsoft.com/.default
&state=12345

enter image description here

用户登录成功如下:

enter image description here

还要确保使用

common
端点来授权用户。

  • 如果您只希望 Azure Active Directory 用户登录,则将应用程序注册为“任何组织目录中的帐户(任何 Azure AD 目录 - 多租户)”,并使用
    organizations
    端点。

如果问题依然存在,请参考以下MsDoc:

错误 AADSTS50020 - 身份提供者的用户帐户在租户中不存在 - Active Directory

© www.soinside.com 2019 - 2024. All rights reserved.