1
我一直在审查这里的应用程序授权步骤https://developer.microsoft.com/en-us/graph/docs/authorization/app_authorization,但似乎无法获得工作请求。我始终得到错误说Microsoft身份验证:如何使用ajax post来刷新访问令牌?
对预检请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,原产地“http://localhost:8080”是不允许访问。”
这似乎不可思议,因为我包括头。
$.ajax({
type: "POST",
url: url,
crossDomain: true,
data: {
'refreshToken': refreshToken,
'client_id': clientId,
'client_secret': clientSecret,
'redirect_uri': redirect_uri,
'resource': resource
},
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader('Access-Control-Allow-Origin', "*");
xhr.setRequestHeader('Access-Control-Allow-Methods', "*");
xhr.setRequestHeader('Access-Control-Allow-Headers', "*");
},
success: function (data, status, headers, config) {
callback(data);
},
error: function (data, status, headers, config) {
console.log('Error getting access token from Microsoft Graph: ' + status + " " + JSON.stringify(data));
}
});
当尝试使用隐式授权工作流端点进行身份验证时,出现相同的“Access-Control-Allow-Origin”错误。 – user3707850
您不能对'/ auth'端点使用XHR请求。这是OAuth2背后的基本理念 - 用户必须重定向到OAuth2服务器,并通过身份验证并重新导向回。所以客户端(您的应用程序)无法看到用户的密码。 XHR请求无法做到这一点。 –