OneLogin session_via_api_token和Chrome

问题描述 投票:2回答:1

我正在通过ajax调用获取会话令牌。依次调用API方法https://api.us.onelogin.com/api/1/login/auth

$.post("onelogin.ashx?action=sessiontoken", data, function (s) {
                    $("#session_token").val(s);
 $("#frmSubmit").submit();
});
 <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">
        </form>

现在在IE和Firefox中,用户已登录。session_via_api_token返回带有我的原始页面URL的响应标头“ Location”。

在Chrome中,用户尚未登录,并且响应标头“ Location”为https://app.onelogin.com/login

我感觉这是cookie的问题,但不知道是什么原因。有什么想法吗?

onelogin
1个回答
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));
 }; 
© www.soinside.com 2019 - 2024. All rights reserved.