Klipfolio SSO Test Page
HTML
<h1>Klipfolio SSO Test Page</h1>
<p>This page can be used to test a generated SSO token for Klipfolio Dashboard. After generating the token enter it below along with the associated company ID click the button to submit the token.</p>
<div>30e9deaeea86668f0e4406ab226019a6ed043ed7:</div>
<div><textarea class='f-token' id="sso_token"></textarea></div>
<div> a68466daef49499983afaa1bb93117ef:</div>
<div><input class='f-cid' type='text' id="cid"></input></div>
<div><input style='margin-top:10px' type='button' id='button-sso' value='Submit SSO Token'></div>
<div id='result'/>
CSS
body { font-family:arial,verdana,sans-serif }
.fail { color:red }
.f-token { font-family:"courier new",monospace; width:100%;height:45px;padding:5px}
.f-cid { font-family:"courier new",monospace; width:100%; padding:5px }
input[type=button] { font-size:1.1em }
JavaScript
var ssoUrl = "https://app.klipfolio.com/users"
var ssoToken = "";
var ssoCompany = "";
$('#button-sso').click( function(){
ssoToken = $('#sso_token').val();
ssoCompany = $('#cid').val();
$.ajax({
url : ssoUrl + "/sso_auth",
type: "post",
xhrFields:{
withCredentials:true
},
headers:{
"KF-SSO": ssoToken,
"KF-Company": ssoCompany
},
dataType:"json",
success : function(data){
console.log(data)
$('#result').html("<h2>SSO Success</h2><p>Logged in as: "+ data.user.email +
"<p>Test your session by going to <a href='https://app.klipfolio.com/dashboard'>Klipfolio Dashboard</p>");
},
error : function(err){
console.log("sso auth failed",err)
var errMsg = JSON.parse( err.responseText) ;
console.log(errMsg)
$('#result').html("<h2 class='fail'>SSO Failed<h2><p>Error: (#"+errMsg.error_code+") "
+errMsg.error_message+"</p>");
}
})
})
function logoutSSO(){
$.ajax({
url : ssoUrl + "/sso_logout",
type: "post",
xhrFields:{
withCredentials:true
},
headers:{
"KF-SSO": ssoToken,
"KF-Company": ssoCompany
},
dataType:"json",
success : function(data){
console.log("logout",data)
},
error : function(err){
console.log("sso auth failed",err.responseJSON)
}
})
}