我们有一个多租户单页应用程序(和后端),它使用Azure AD对用户进行身份验证。我们希望查询客户的Azure AD以检索组,但使其成为客户(租户)的选择加入行为。背后的原因是,并非所有客户都需要该功能,因此不希望授予我们对其AAD的不必要访问权限。
有没有什么方法可以通过Azure AD实现这一点?
我一直在尝试使用不同的OAuth /authorize调用和资源ID及作用域进行测试,但大多数情况下我都以“* AADSTS 65001:用户或管理员尚未同意使用ID为“”的应用程序。请为此用户和资源发送交互式授权请求。*”错误。将Web应用或后端配置为要求权限肯定会修复此错误,但这也会使应用的所有用户都必须批准此权限。
是否有一种方法可以使用授权/同意API按需请求访问新应用程序?
一个丑陋的解决方案应该工作将有2个客户端ID和2个不同权限的后端ID,但ADAL.js似乎没有设计为与多个客户端ID(它是单一的,为初学者).此外,应用程序权限当然应该工作,但我不知道有多少这些是需要搜索组.
2条答案
按热度按时间rlcwz9us1#
是否有一种方法可以使用授权/同意API按需请求访问新应用程序?
一定要看看
Azure AD v2.0
。对于他们的incremental & dynamic consent model
,这是可能的,虽然我不确定这个特定的功能(管理组)是否可用。我最近和Azure AD团队成员讨论了这个问题(因为我们也面临同样的问题),他建议我们看看这个。
Azure AD v2.0的基本工作方式是从基本权限集(如登录、读取配置文件等)开始。然后,当某些租户需要特定权限时,您实际上要求他们仅在此时将这些权限授予您的应用程序。这意味着您的应用程序中的不同用户授予了您的应用程序不同的权限。
eni9jsuy2#
如果您正在使用MSAL,并且正在寻找一种在身份验证之前动态更改作用域的方法,那么请看下面的内容:www.example.comhttps://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/configuration.md#msalguard---dynamic-auth-request
更多信息请访问:www.example.comhttps://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/configuration.md#platformbrowserdynamic