在 Angular-msal2 中使用 Azure idtoken 请求 API 时出现 Cors 错误

问题描述

我正在使用 angular-msal2 登录 Azure AD 并访问我在 Azure 上的 webapi。当我运行 http.get 时,它给我一个 CORS 错误,如下所示:

this.http.get("https://wgceworkflow-as.azurewebsites.net/api/demo/all")
   .subscribe(r=>console.log(r));

跨域请求被阻止:同源策略不允许读取 远程资源在 https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxxxxxx/oauth2/v2.0/authorize?response_type=id_token&redirect_uri=https%3A%2F%2Fwgceworkflow-as.azurewebsites.net%2F.auth%2Flogin%2Faad%2Fcallback&client_id=xxxx-xxx-xxxx-xxxxxx&scope=openid+profile+email&response_mode=form_post&nonce=9dd0ec527a3a480abbd37e30d6d63499_20210531073718&state=redir%3D%252Fapi%252Fdemo%252Fall。 (原因:缺少 CORS 标头“Access-Control-Allow-Origin”)。

有谁知道如何解决这个问题?这个 API 可以很好地与 JavaScript 配合使用,而且我是 Angular 的新手。

谢谢。

PS:我知道我仍然可以使用旧方法手动获取 id 令牌并将其添加到标头中,但是 MS 说“MSAL Angular 包装器利用 HTTP 拦截自动以静方式获取访问令牌并将它们附加到对 API 的 HTTP 请求。”,我想知道如何使用此功能

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)