MSAL.js protectedResourceMap - 需要说明将其设置为什么

Bea*_*kie 11 angular msal.js

我有 2 个站点,一个 Angular 应用程序和一个 WebAPI。

当我从前端使用 MSAL.js 调用 WebAPI 时,没有附加令牌(由于 CORS)。

我知道我需要设置 protectedResourceMap 但我找不到如何设置它的明确解释。

我可以找到很多例子,但没有一个给出(对我来说)有意义的解释。

有人可以提供任何意见吗?

小智 7

我刚刚学习这个,但在 doco 中找到了这些信息:

MSAL.js Angular 自述文件:

protectedResourceMap:将资源映射到范围 {" https://graph.microsoft.com/v1.0/me ", ["user.read", "mail.send"]}。由 MSAL 在内部使用,用于在 webApi 调用中自动附加令牌。仅 CORS 调用需要此操作。

我对给定示例的理解是:

export const protectedResourceMap:[string, string[]][]=[
    ['your api endpoint',['scope 1', 'scope 2', 'scope n']] // example
    ['https://buildtodoservice.azurewebsites.net/api/todolist',['api://a88bb933-319c-41b5-9f04-eff36d985612/access_as_user']], // api you host
    ['https://graph.microsoft.com/v1.0/me', ['user.read']] // ms graph api - uses short scope names with no uri prefix
];
Run Code Online (Sandbox Code Playgroud)

因此,当调用路径“您的 api 端点”时,请包含与范围“范围 1”、“范围 2”、“范围 n”关联的令牌。