微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何配置 msal-angular 拦截器以将访问令牌 (v2) 发送到自己的域 (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,[`api://${clientId}/access_as_user`]],};

但是 AzureAD 开始抱怨

AADSTS90009:应用程序正在为自己请求令牌。仅当使用基于 GUID 的应用标识符指定资源时才支持此方案

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

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。