尝试使用时
this.clientApplication.acquireTokenSilent(scopes)...
虽然收到错误,但我传入了多个范围:
AADB2C90146:范围' https://xxx.onmicrosoft.com/xxx/user_impersonation https://xxx.onmicrosoft.com/xxx/user_impersonation openid个人资料'在请求中提供,为访问令牌指定了多个资源,但不支持。
如何使用MSAL.js库为多个范围静默获取新令牌?我最初用
这样做了 this.clientApplication.loginRedirect(this.tenantConfig.b2cScopes);
此时这可能吗?
谢谢,
答案 0 :(得分:3)
访问令牌与资源相关联。如果您指定多个范围映射到多个资源,则MSAL不知道哪个范围可以获取访问令牌,因为存在一些歧义。
例如,
Scope A.0
,Scope A.1
属于Resource A
Scope B.0
属于Resource B
请求必须是:
// Access tokens for Resource A
acquireTokenSilent([Scope A.0, Scope A.1])
// Access tokens for Resource B
acquireTokenSilent([Scope B.0])