私はカスタムアプリケーションをKeyrock Fiware Identity Managerと統合しようとしています。 流れは以下の通り:彼は Keyrock CORSの問題
/のOAuth2 /承認/ response_type =コード& CLIENT_ID = {クライアントID}にリダイレクトさ
ログインボタンに
- ユーザーがクリック&状態= 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;
}
});
しかし、ポストの要求は決して
XMLHttpRequestはhtをロードできませんtp:// {ip}:{port}/oauth2/token。リクエストヘッダーフィールドプリフライト応答でAccess-Control-Allow-HeadersによってAccess-Control-Allow-Methodsが許可されていません。
私は{IP}を挿入しようとしました:Keyrockのlocal_settings.pyファイルにCORS_WHITELISTへとALLOWED_HOSTに{ポートを}が、何も変わりません。
誰でも手伝ってもらえますか?
あなたは正しいです。 これらのフィールドを削除するとすべてが正常になります。ありがとうございました。 – sirnino