MSAL:AADB2C90146:请求中提供的“Openid 配置文件"为访问令牌指定了多个资源,这是不受支持的 [英] MSAL : AADB2C90146 : 'Openid profile' provided in request specifies more than one resource for an access token, which is not supported'

查看:12
本文介绍了MSAL:AADB2C90146:请求中提供的“Openid 配置文件"为访问令牌指定了多个资源,这是不受支持的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试使用时

this.clientApplication.acquireTokenSilent(scopes)...

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

I have multiple scopes I am passing in although I receive the error :

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

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 库为多个范围静默获取新令牌?我最初可以使用

How am I able to silently get a new token using the MSAL.js library for multiple scopes? I was able to do so initially with the

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

这个时候可以吗?

谢谢,

推荐答案

访问令牌与资源相关联.如果您指定映射到多个资源的多个范围,则 MSAL 不知道要为哪一个获取访问令牌,因为存在一些歧义.

Access tokens are tied to a resource. If you specify multiple scopes that map to multiple resources, MSAL doesn't know which one to get an access token for since there's some ambiguity.

例如,

Scope A.0Scope A.1属于Resource A

Scope B.0属于Resource B

请求必须是:

//资源 A 的访问令牌acquireTokenSilent([Scope A.0, Scope A.1])

//资源 B 的访问令牌获取TokenSilent([Scope B.0])

这篇关于MSAL:AADB2C90146:请求中提供的“Openid 配置文件"为访问令牌指定了多个资源,这是不受支持的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆