我当前的应用程序支持Microsoft和Google oAuth验证登录。其目的是为用户提供使用其个人帐户登录的选项,以便于访问。 google可以正常使用,但AAD仅允许电子邮件以App ID URI域结尾的用户登录
例如:应用ID URI = someOrg.com/guid,其登录名= someUser@someOrg.com。
尝试使用Microsoft帐户(例如Outlook或Hotmail帐户)登录时会重定向到显示以下内容的页面
“我们无法完成您的请求
Microsoft帐户遇到技术问题。请稍后再试。”
是否有一种方法允许AAD在登录名中接受任何Microsoft帐户,或者只能接受单个域中的用户?
答案 0 :(得分:2)
是的!结帐https://aka.ms/aadv2。 v2终结点允许从单个应用程序注册表中登录个人Microsoft和Azure AD帐户。您需要点击这个特殊的终结点(可以使用MSAL库完成),并在Azure门户中设置应用的受众群体。
默认情况下,使用以下URL(请注意common
件):
https://login.microsoftonline.com/common/v2.0/authorize
https://login.microsoftonline.com/common/v2.0/token
如果设置为common,则您的应用程序可以登录任何域和个人Microsoft帐户。
为涵盖所有内容,以下是其他选项:
常见 -> 组织 :仅允许Azure AD帐户
常见 -> 消费者 :仅允许个人Microsoft帐户
普通 -> [tenant_id] :仅允许来自指定租户的帐户
您可能需要解决的一个极端情况是作为访客添加到Azure AD租户的个人Microsoft帐户。当用户点击common
时,他们将作为个人Microsoft帐户登录;但是,他们可能打算登录其域。您可以通过引入“输入您的电子邮件”屏幕,然后通过common
端点将其作为提示传递给Microsoft,来解决此问题。