django-cas-server/cas_server/static/cas_server/cas.js

53 lines
1.3 KiB
JavaScript

function cas_login(cas_server_login, service, login_service, callback){
var url = cas_server_login + "?service=" + encodeURIComponent(service);
$.ajax({
type: "GET",
url,
beforeSend(request) {
request.setRequestHeader("X-AJAX", "1");
},
xhrFields: {
withCredentials: true
},
success(data, textStatus, request){
if(data.status === "success"){
$.ajax({
type: "GET",
url: data.url,
xhrFields: {
withCredentials: true
},
success: callback,
error(request, textStatus, errorThrown) {},
});
} else {
if(data.detail === "login required"){
window.location.href = cas_server_login + "?service=" + encodeURIComponent(login_service);
} else {
alert("error: " + data.messages[1].message);
}
}
},
error(request, textStatus, errorThrown) {},
});
}
function cas_logout(cas_server_logout){
$.ajax({
type: "GET",
url: cas_server_logout,
beforeSend(request) {
request.setRequestHeader("X-AJAX", "1");
},
xhrFields: {
withCredentials: true
},
error(request, textStatus, errorThrown) {},
success(data, textStatus, request){
if(data.status === "error"){
alert("error: " + data.messages[1].message);
}
},
});
}