MSAL:AADB2C90146:请求中提供的“Openid 配置文件”为访问令牌指定了多个资源,但不受支持”

Mar*_*c C 6 azure-active-directory azure-ad-msal

当尝试使用时

this.clientApplication.acquireTokenSilent(scopes)...
Run Code Online (Sandbox Code Playgroud)

尽管收到错误,但我传递了多个作用域:

AADB2C90146:请求中提供的范围“ https://xxx.onmicrosoft.com/xxx/user_impersonation https://xxx.onmicrosoft.com/xxx/user_impersonation openid profile”为访问令牌指定了多个资源,该资源不是支持的。

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

 this.clientApplication.loginRedirect(this.tenantConfig.b2cScopes);
Run Code Online (Sandbox Code Playgroud)

这个时候可以吗?

谢谢,

Dan*_*ian 6

访问令牌与资源绑定。如果指定映射到多个资源的多个作用域,MSAL 不知道要获取哪一个资源的访问令牌,因为存在一些歧义。

例如,

Scope A.0Scope 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])