我已经使用 ADAL JS 库为我的 JavaScript 前端配置了 Azure AD 身份验证。我可以使用属于 Active Directory 的帐户成功登录。
我们希望允许所有外部用户登录应用程序。只要您拥有 Microsoft 或 Live 帐户,您就应该被授予访问权限。我收到此错误:
AADSTS50020:来自身份提供商“live.com”的用户帐户“xxxx@gmail.com”在租户“默认目录”中不存在,并且无法访问该租户中的应用程序“xxxx”。需要先将该帐户添加为租户中的外部用户。注销并使用不同的 Azure Active Directory 用户帐户重新登录。
将用户添加为来宾可以解决此问题,但我不希望这样。它必须自动工作。我已将应用程序配置为多租户。我认为启用自助服务将是解决方案。但是,由于未知原因,这些设置是灰色的,我不知道如何更改它们。
我允许用户请求访问并自动授予应用程序访问权限。 屏幕截图:企业应用程序 - 自助服务设置
但是,在目录中,未启用自助服务(选项Self-service group management enabled
设置为No
),对此我无能为力。如何更改这些设置?
屏幕截图:群组 - 常规设置
我尝试向https://apps.dev.microsoft.com注册另一个应用程序,如该线程Azure AD authentication without app registration中所述,但对于新的 clientId,我仍然收到相同的错误消息。
在此线程Azure Multi-Tenant Application with Windows Live ID Authentication中,该解决方案似乎更改了基于租户的身份验证端点。这需要首先询问用户它正在使用哪个租户,然后重定向到身份验证,这似乎是一个非常糟糕的用户体验。