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請求無法做到這一點。 –