我正在嘗試將自定義應用程序與Keyrock Fiware Identity Manager集成。 流動如下:CORS問題與Keyrock
- 上登錄按鈕用戶點擊
- 他被重定向到
/的oauth2 /授權/ RESPONSE_TYPE =代碼& CLIENT_ID = {的clientid}? &狀態= XYZ & REDIRECT_URI = HTTP:{IP}:{端口}
- 用戶將其憑據
- 他被重定向到我的應用程序的認證後,我試着檢索令牌如下:
var reqData = "grant_type=authorization_code&code=" + code + "&redirect_uri=" + http:{ip}:{port};
var reqHeaders = new Object();
reqHeaders.Access-Control-Allow-Headers= "Content-Type, Access-Control-Allow-Headers,Access-Control-Allow-Origin, Authorization, X-Requested-With, origin, accept",
reqHeaders.Access-Control-Allow-Methods= "POST, GET, OPTIONS, DELETE, PUT",
reqHeaders.Access-Control-Allow-Origin="*"
reqHeaders.Access-Control-Expose-Headers="http://*/*"
reqHeaders.Authorization="Basic {token}"
reqHeaders.Content-Type="application/x-www-form-urlencoded"
reqHeaders.X-Requested-With="XMLHttpRequest"
$.ajax({
url : idmURL + '/oauth2/token',
type : 'POST',
dataType : 'json',
crossDomain : true,
data : reqData,
headers : reqHeaders,
success : function(data) {
console.log(data);
token = data.access_token;
}
});
但POST請求從不因爲我收到:
XMLHttpRequest無法加載ht TP:// {IP}:{端口} /的oauth2 /令牌。請求標頭字段預檢響應中的Access-Control-Allow-Headers不允許Access-Control-Allow-Methods。
我試着將{ip}:{port}插入到Keyrock的local_settings.py文件中的CORS_WHITELIST和ALLOWED_HOST,但沒有任何更改。
任何人都可以幫到我嗎?
你說得對。 刪除這些字段一切都很好。謝謝。 – sirnino