OneLogin session_via_api_token和Chrome

时间:2016-11-14 11:30:07

标签: onelogin

我通过ajax调用获取会话令牌。这反过来调用API方法 https://api.us.onelogin.com/api/1/login/auth $ .post(“onelogin.ashx?action = sessiontoken”,data,function(s){                     $( “#session_token”)VAL(S)。  $( “#frmSubmit”)提交()。 });  < form action =“https://admin.us.onelogin.com/session_via_api_token”method =“POST”id =“frmSubmit”>             < input type =“hidden”id =“session_token”name =“session_token”value =“”>             < input type =“submit”placeholder =“GO”>             < input id =“auth_token”type =“hidden”>         < /形式> 在IE和Firefox中,用户现在已登录.session_via_api_token返回带有原始页面URL的响应标题“Location”。 在Chrome中,用户未登录,响应标题“位置”为https://app.onelogin.com/login 我觉得这是一个饼干的问题,但无法弄清楚是什么。有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我最近在Chrome上的session_via_api_token遇到了同样的问题。 IE,MS Edge,FF上的重定向正常工作。 我正在使用代码将会话添加到浏览器:

function makeCors(session_token) {
   var xhr = new XMLHttpRequest();
   xhr.withCredentials = true;
   method = "POST";
   var url = "https://<your_subdomain>.onelogin.com/session_via_api_token";
   xhr.open(method, url, true);
   xhr.setRequestHeader("Content-Type", "application/json");
   body = {"session_token": session_token};
   xhr.send(JSON.stringify(body));
 };