MSAL:AADB2C90146:请求中提供的 'Openid profile' 为访问令牌指定了多个资源,这不受支持'

MSAL : AADB2C90146 : 'Openid profile' provided in request specifies more than one resource for an access token, which is not supported'

当尝试使用

this.clientApplication.acquireTokenSilent(scopes)...

虽然我收到错误,但我有多个范围正在传递:

AADB2C90146 : The scope 'https://xxx.onmicrosoft.com/xxx/user_impersonation https://xxx.onmicrosoft.com/xxx/user_impersonation openid profile' provided in request specifies more than one resource for an access token, which is not supported.

如何使用 MSAL.js 库为多个范围静默获取新令牌?我最初能够使用

 this.clientApplication.loginRedirect(this.tenantConfig.b2cScopes);

现在可以吗?

谢谢,

访问令牌与资源相关联。如果您指定映射到多个资源的多个范围,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])