我有2个站点,一个角度应用程序和一个WebAPI。
当我从前端使用MSAL.js调用WebAPI时,没有附加任何令牌(由于CORS)。
我知道我需要设置protectedResourceMap,但找不到关于如何设置它的明确说明。
我可以找到很多示例,但是没有一个示例对我来说很有意义。
任何人都可以提供任何输入吗?
答案 0 :(得分:0)
我只是在学习此内容,但是在doco中找到了以下信息:
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
];
因此,在调用路径“您的api端点”时,请包括与范围“ scope 1”,“ scope 2”,“ scope n”关联的令牌。