问题描述
我正在使用 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 (将#修改为@)