gpt4 book ai didi

azure - 如何在 MSAL 角度配置中为所有不需要的 API 添加范围 null

转载 作者:行者123 更新时间:2023-12-03 03:57:40 26 4
gpt4 key购买 nike

我们有一个 Angular 应用程序,它调用多个 API。目前,我们只对向两个 API 注入(inject) b2c 访问 token 感兴趣,并希望避免向其他 API 注入(inject)。

我们的 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/*/*/*/*/*/*', null],
['/onprem/*/*/*/*', null]
]

因此,MSAL 拦截器使用 minimatch 将 req.url 与 protectedresourcemap 进行匹配。在上面的示例中,我使用 scopes:null 指定了 3 种不同的模式。 。所以getScopesForEndpoint()将被调用 5 次,即使在这 5 次调用中,有 3 次是不需要的。

有人可以建议一种更好的方法来将网址添加到 protectedResourceMapscopes: null ,这样我就可以减少对 getScopesForEndpoint() 的调用并提高前端应用程序的性能。

提前致谢。

最佳答案

getScopesForEndpoint 将始终被调用,即使在更改为 minimatch 之前也是如此。如果在此场景中担心性能问题,我们可以考虑改进 getScopesForEndpoint,以便在设置 null 时不调用 minimatch。

关于azure - 如何在 MSAL 角度配置中为所有不需要的 API 添加范围 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63924749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com