通过 Microsoft 登录个人和任何 Azure AD

Ste*_*een 1 authentication azure azure-active-directory

我在Azure上创建了一个web应用程序并将身份验证模式设置为;

“任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox)

所有拥有工作或学校或个人 Microsoft 帐户的用户都可以使用您的应用程序或 API。这包括 Office 365 订阅者。”

它非常适合我和我的大学,也适用于个人 Microsoft 帐户。

我现在尝试登录不同 Azure AD 上的用户,但这些用户无法登录。这是从他们的 AD 中获取的尝试登录日志。屏幕上向用户显示了类似的消息

来自身份提供商“{idp}”的用户帐户“{email}”在租户“{tenant}”中不存在,并且无法访问该租户中的应用程序“{appId}”({appName})。需要先将该帐户添加为租户中的外部用户。注销并使用不同的 Azure Active Directory 用户帐户再次登录。

Web 应用程序的唯一目的是获取用户的 Azure/MS 验证电子邮件地址并在用户数据库中执行查找。

最好应该实现这一点,而不需要“其他 azure AD”管理员做任何事情。但如果需要的话可以提出这个要求。我只是不知道该问什么。

Sri*_*evi 6

\n

来自身份提供商\'{idp}\'的用户帐户\'{email}\'在租户\'{tenant}\'中不存在,并且无法访问应用程序\n\'{appId}\'({appName} )在该租户中。需要首先将该帐户添加为租户中的\n外部用户。注销并使用不同的 Azure Active Directory 用户帐户再次登录。

\n
\n

发生此错误的原因通常有多种。请检查以下内容是否有帮助:

\n

情况1:

\n

请检查您的登录 URL 是否如下所示:

\n
https://login.microsoftonline.com/<tenant_id>/\n
Run Code Online (Sandbox Code Playgroud)\n

如果是这样,则在选择此选项时可能会出现错误:\xe2\x80\x9c任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox)\xe2\x80\ x9d和其他组织的用户无法访问该应用程序。

\n

要解决该错误,请尝试将登录 URL 更改为\nhttps://login.microsoftonline.com/common

\n

在应用程序代码的权限设置中应用此 URL 值。

\n

要详细了解如何执行此操作,请访问此链接

\n

案例2:

\n

还有一种可能是用户已经使用Microsoft 以外的其他个人帐户登录了活动会话。要确认这种情况,请检查错误消息中的User Account和值。Identity Provider

\n

要解决该错误,请通知用户从活动会话中注销,然后从不同的浏览器或专用浏览器会话中重新登录。否则要求他们清除 cookie 和缓存,以新身份登录。

\n

如果错误仍然无法解决,请阅读以下参考(如果有帮助)。

\n

参考:

\n

错误 AADSTS50020 - 租户中不存在来自身份提供商的用户帐户 - Active Directory | 微软文档

\n