Microsoft Graph API:访问控制允许来源

Microsoft Graph API : Access-Control-Allow-Origin

我正在尝试集成 Microsoft Graph 身份验证和访问共享点以及用户的 Graph 配置文件和图片。我已经关注了他们的文档 https://developer.microsoft.com/en-us/graph/docs/authorization/app_authorization
我能够实现第一步 Authenticate a user and get app authorized,但不能 Acquire an access token。 我已经在邮递员中检查过了,能够得到访问令牌的响应。我正在尝试使用 Jquery Ajax 但得到

的方式相同

XMLHttpRequest cannot load https://login.microsoftonline.com/common/oauth2/token. No 'Access-Control-Allow-Origin' header is present on the requested resource.

$.ajax({ type:"POST",headers: {
    'Content-Type':'application/x-www-form-urlencoded'
},
crossOrigin: true,url: "https://login.microsoftonline.com/common/oauth2/token",data:$.param({grant_type: "authorization_code",redirect_uri:"http://localhost:92",client_id:"8c907c91-1b21-4468-825e-116a4f663249",client_secret:"xxxxxxxxx+=",code:"AQABAAIAAABnfiG-mA6NTae7CdWW7QfdkHvUMGWjMMTjOGwaac7c-pFOjLqj98r37uhB1a1XqjnCL-nK5HcvRIYLhLSUQJZeY9ybZLgWfSl4U0CNdZkwIvee_r6-hPC0Wts0ULDWzkg_nHWLHrquAjJ67T84vuIUv8525xTVdm1Ej07EPRttlske50jy1lruaLX0Wzdj72VnAQ0iRHB_VKwEA-1YB7VOt6qh9756XYkDUfzJMZTxTawT5PVQFyv2joy0TbUYljkyT8RgzdhgT6YV6Rum3cQZg3Amso-0-6umF_1ECfdjmXXxdkscAmsGJHZPrZ1HE8W9zhfsGKlc57QI8J3Qkz-Wfkw8lxcfpp84wHmKnA28jWrww7szXVjjsYmtNsRpSYIvq393QoUZnWN-t0D71510pVAYswr6R3_rR80SMrMvolIpoXeIvPDoOkLszgYEeNRkGAcjVYD5XS4aajyrWqCSUz3xzNt8Vb6x9QBCWxw9xAottQM5ZZIbWc9zrKmmPL8sqkEpJ7Z95QdJjgkFy0qT5c_GQwKNoAiF96iVhyLiULvjwlFYsV9d84QGnz_a5NIt6mMbhgJoY32snEJN7kMyK9uzTHdglkkl-9UgJNnpArN5D8hywaERMN4Fy7RZxnqx9Mt4UnnfK9-RnjvaIE6TIAA",resource:"https://graph.microsoft.com/"}), success: function(result){
    $("#div1").html(result);
},
error: function(){

    $("#div1").html("Error");
}});

但是在控制台中,我可以看到 post 方法的响应,因为对于 'Acces-origin' 问题,我无法在 Ajax 成功部分获得响应。

常规网页可以使用 XMLHttpRequest 对象从远程服务器发送和接收数据,但它们受同源限制policy.So浏览器阻止它,因为它通常允许同源请求出于安全原因。邮递员会工作,因为他们不受此政策的限制。

要在 javascript 中集成 AAD,我们建议您使用 azure-activedirectory-library-for-js which is a library in javascript for frontend to integrate AAD with a ease ,by using implicit grant flow ,It also has the advantage of eliminating any requirements for cross origin calls, which are necessary if the JavaScript application is required to contact the token endpoint. 是一个讨论相同主题并显示更多有关如何使用 ADAL.JS 的线程,请参阅该线程。