【发布时间】:2017-04-22 11:23:52
【问题描述】:
我正在尝试将自定义应用程序与 Keyrock Fiware Identity Manager 集成。 流程如下:
- 用户点击登录按钮
- 他被重定向到
/oauth2/authorize/?response_type=code&client_id={clientid}&state=xyz&redirect_uri=http:{ip}:{port}
- 用户插入他的凭据
- 身份验证后,他被重定向到我的应用程序,我尝试在其中检索令牌,如下所示:
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 无法加载 http://{ip}:{port}/oauth2/token。预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Methods。
我尝试将 {ip}:{port} 插入到 Keyrock 的 local_settings.py 文件中的 CORS_WHITELIST 和 ALLOWED_HOST 中,但没有任何变化。
谁能帮帮我?
【问题讨论】:
标签: javascript fiware django-cors-headers