1

我正在使用 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 拦截器自动获取访问令牌,并将它们附加到 HTTP 请求到 API。”,我想知道如何使用此功能。

4

0 回答 0