Oauth 如何使任何域登录到我的Azure Active Directory应用程序

Oauth 如何使任何域登录到我的Azure Active Directory应用程序,oauth,azure-active-directory,Oauth,Azure Active Directory,我当前的应用程序支持Microsoft和Google oAuth验证登录。其目的是让用户可以选择使用个人帐户登录,以便于访问。这在google上运行良好,但AAD只允许电子邮件以App ID URI域结尾的用户登录 例如:应用程序Id URI=someOrg.com/guid及其登录=someUser@someOrg.com. 尝试使用Microsoft帐户(如outlook或hotmail帐户)登录会重定向到以下页面: “我们无法完成您的请求 Microsoft帐户遇到技术问题。请稍后再试。“

我当前的应用程序支持Microsoft和Google oAuth验证登录。其目的是让用户可以选择使用个人帐户登录,以便于访问。这在google上运行良好,但AAD只允许电子邮件以App ID URI域结尾的用户登录

例如:应用程序Id URI=someOrg.com/guid及其登录=someUser@someOrg.com.
尝试使用Microsoft帐户(如outlook或hotmail帐户)登录会重定向到以下页面: “我们无法完成您的请求 Microsoft帐户遇到技术问题。请稍后再试。“

有没有办法允许AAD在登录时接受任何Microsoft帐户,或者它只能接受单个域中的用户?

Basics 对!!结账v2端点允许个人Microsoft和Azure AD帐户从单个应用程序登录。你需要点击这个特殊的端点(可以使用MSAL库完成),并在Azure门户中设置你的应用程序访问群体

细节。。。 默认情况下,使用以下URL(请注意
公共
部分):

https://login.microsoftonline.com/common/v2.0/authorize
https://login.microsoftonline.com/common/v2.0/token

如果设置为“公用”,则您的应用程序可以登录任何域和个人Microsoft帐户

其他选择 为了涵盖所有内容,以下是其他选项:

普通->组织:仅允许Azure广告帐户

普通->消费者:仅允许个人Microsoft帐户

通用->[租户id]:仅允许指定租户的帐户

MSA作为客人
您可能需要解决的边缘案例是作为来宾添加到Azure AD租户的个人Microsoft帐户。当用户点击
common
时,他们将作为个人Microsoft帐户登录;但是,他们可能打算登录自己的域。您可以通过引入“输入您的电子邮件”屏幕,然后通过
common
端点将其作为提示传递给Microsoft来解决这个问题

请注意,“someOrg.com”是应用程序ID URI的一部分,这只是巧合。如果愿意,可以将其更改为其他值。正如Daniel在他的回答中所描述的,接下来要特别强调的是,您可能正在使用特定于租户的端点,这就是将其限制为来自Azure AD租户的用户的原因。