如何解决如何在MSAL角度配置中为所有不需要的API添加范围null
我们有一个有角度的应用程序,它调用了多个API。当前,我们只对仅向两个API注入b2c访问令牌感兴趣,并希望避免使用其他API。
我们的API如下
https://testdomain.com/onprem/proxy/handler/api/account/someendpoint
https://testdomain.com/onprem/proxy/handler/something/api/account/someendpoint
https://testdomain.com/onprem/something/api/account/endpoint
https://testdomain.com/cloud/api/app1/something/endpoint
由于API调用的结构不同。我们目前的实施方式如下
export const protectedResourceMap: [string,string[]][] = [
['/cloud/api/app1/account/gettestaccount',['scope1']],['/cloud/api/app2/account/getanotheraccount',['scope2']],['/onprem/*/*/*/*/*',null],['/onprem/*/*/*/*/*/*',['/onprem/*/*/*/*',null]
]
因此,MSAL拦截器正在使用 minimatch 将req.url与protectedresourcemap进行匹配。
在上面的示例中,我用scopes:null
指定了3种不同的模式。因此getScopesForEndpoint()
将被呼叫5次,即使在这5次呼叫中,有3次是不需要的。
请提出一些更好的方法来向protectedResourceMap
的{{1}}中添加url,这样我就可以减少对scopes: null
的调用并提高前端应用程序的性能。 / p>
谢谢。
解决方法
getScopesForEndpoint
将始终被调用,即使在更改为minimatch之前也是如此。如果您担心在这种情况下的性能,我们可以考虑改进getScopesForEndpoint
使其不调用minimatch(如果设置了null
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。