Msal-Angular v1 - acquireTokenPopup/LoginPopup returns 一个权限不足的访问令牌,即使在授予管理员同意后也是如此
Msal-Angular v1 - acquireTokenPopup/LoginPopup returns an Access Token with Insufficient Privileges even after granting admin consent
我们在第一次授予管理员同意时收到无效的 accessToken,范围为空。如果用户再次重试 - 我们调用 acquireTokenPopup 并且 accessToken 变为有效。
复制步骤
第 1 步:管理员单击登录按钮 (loginPopup)
第 2 步:MS 提示登录和管理员同意页面(我们需要 User.Read.All)
第 3 步:我们调用 acquireTokenSilent() 来获取访问令牌作为我们的图形客户端的 AuthenticationProvider
第 4 步:图表 API /用户请求 returns 403 - 权限不足
核心库:@azure/msal 或 msal
核心库版本:1.4.8
包装库:@azure/msal-angular
包装库版本:1.1.2
Angular: 7
我在这里创建了 GitHub 问题单:https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/3524
向应用程序添加权限时,必须向租户范围的管理员授予该应用程序的许可。但是无论是在Azure门户中授予管理员同意还是使用管理员同意都会有短暂的延迟URL.
如果在征得管理员同意后立即申请access token,可能会导致token没有权限。这种情况下,你只需要刷新,然后重新尝试获取token即可。
另外,一定要保证token是在管理员同意后获取的,否则原来的token仍然不包含新的权限。
我们在第一次授予管理员同意时收到无效的 accessToken,范围为空。如果用户再次重试 - 我们调用 acquireTokenPopup 并且 accessToken 变为有效。
复制步骤
第 1 步:管理员单击登录按钮 (loginPopup)
第 2 步:MS 提示登录和管理员同意页面(我们需要 User.Read.All)
第 3 步:我们调用 acquireTokenSilent() 来获取访问令牌作为我们的图形客户端的 AuthenticationProvider
第 4 步:图表 API /用户请求 returns 403 - 权限不足
核心库:@azure/msal 或 msal
核心库版本:1.4.8
包装库:@azure/msal-angular
包装库版本:1.1.2
Angular: 7
我在这里创建了 GitHub 问题单:https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/3524
向应用程序添加权限时,必须向租户范围的管理员授予该应用程序的许可。但是无论是在Azure门户中授予管理员同意还是使用管理员同意都会有短暂的延迟URL.
如果在征得管理员同意后立即申请access token,可能会导致token没有权限。这种情况下,你只需要刷新,然后重新尝试获取token即可。
另外,一定要保证token是在管理员同意后获取的,否则原来的token仍然不包含新的权限。