No' Access-Control-Allow-Origin'客户端凭据请求期间的标头错误

时间:2017-11-01 11:53:04

标签: azure-active-directory microsoft-graph adal

我需要为后台服务启用API访问,这样就不需要手动用户登录。应用程序是用Javascript(Angular)编写的。

我已按照以下this article中的同意过程/访问令牌的步骤进行操作,但我收到了CORS错误。

管理员同意确认 - 工作

enter image description here

访问令牌请求 - 失败

同意返回我用于下一步的租户

.item {
   border: 1px solid black;
   content: "test";
   height: 100px;
   width:16vw;
}

Failed request

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

首先,不要将客户机密放在前端JavaScript中

客户端凭据授权流程不应从前端使用。这就是您收到CORS错误的原因。

您需要为您的应用启用隐式授权流程。点击此处:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-implicit

然后,您可以在AAD的第一个响应中获得访问令牌。或者您可以通过隐藏的iframe请求它。 Msal.js可以在这里为您提供很多帮助:https://github.com/AzureAD/microsoft-authentication-library-for-js