如何配置 msal-angular 拦截器以将访问令牌 (v2) 发送到自己的域 (self)

How to configure msal-angular interceptor to send an access token (v2) to own domain (self)

我从 v1 更新到@azure/msal-angular v2。而且我无法弄清楚如何配置它以将访问令牌发送到我在同一域中托管的后端。

因此,当我的前端向 /api/foo 发出请求时,MsalInterceptor 应该以版本 2 格式附加我的访问令牌,而不是版本 1。

这使得它发送版本 1 访问令牌

const msalInterceptorConfig: MsalInterceptorConfiguration = {
  interactionType: InteractionType.Redirect,
  protectedResourceMap: new Map([
    ['/', ['openid']],
  ]),
};

我设法通过添加

来“欺骗”它
const msalInterceptorConfig: MsalInterceptorConfiguration = {
  interactionType: InteractionType.Redirect,
  protectedResourceMap: new Map([
    ['/', [`api://${clientId}/access_as_user`]],
  ]),
};

但是 AzureAD 开始抱怨

AADSTS90009: Application is requesting a token for itself. This scenario is supported only if resource is specified using the GUID based App Identifier

所以这不是一个选择。 如何让 MsalInterceptor 将版本 2 访问令牌发送到 /

我不知道这是否是正确的方式,甚至是预期的行为。但是以下配置向我的后端发送了一个 v2 访问令牌。

const msalInterceptorConfig: MsalInterceptorConfiguration = {
  interactionType: InteractionType.Redirect,
  protectedResourceMap: new Map([
    ['/', [`${clientId}/openid`]],
  ]),
};