1
0
Fork 0
auth.rxbn.de/res/web/js/custom.js

83 lines
2.6 KiB
JavaScript
Raw Normal View History

2020-08-31 07:52:41 +00:00
// '/login', login user
function loginEvent() { login(); return false; } // btnEvent handling
2019-11-23 23:37:01 +00:00
function login() {
let user = document.getElementById("login_user").value;
let pass = document.getElementById("login_pass").value;
let data = {
"email": user,
"password": pass
};
let ajax = new XMLHttpRequest();
ajax.open("POST", "/api/login", true);
ajax.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
ajax.send(JSON.stringify(data));
ajax.onload = () => {
let json = JSON.parse(ajax.responseText);
2020-02-29 20:18:37 +00:00
let box = document.getElementById("login_msg");
2020-08-14 21:45:29 +00:00
box.classList.remove("uk-hidden");
box.classList.remove("uk-alert-success");
box.classList.remove("uk-alert-danger");
2020-02-29 20:18:37 +00:00
if(json.message && json.message == "msg.auth.login.successful") {
2020-08-14 21:45:29 +00:00
setTimeout(function () {
2020-08-17 08:11:45 +00:00
if(
window.location.pathname == "/authenticate" &&
getParameterByName("appId") &&
getParameterByName("redirectUrl")
) window.location.reload();
else window.location.href = "./";
2020-08-14 21:45:29 +00:00
}, 150);
2020-02-29 20:18:37 +00:00
box.classList.add("uk-alert-success");
2020-03-06 23:41:48 +00:00
box.getElementsByTagName("p")[0].innerHTML = "Logged in. You will be redirected";
2020-02-29 20:18:37 +00:00
} else if(json.message && json.message == "msg.auth.login.failed") {
box.classList.add("uk-alert-danger");
box.getElementsByTagName("p")[0].innerHTML = "Login failed.<br> Username or Password is wrong.";
}
2019-11-23 23:37:01 +00:00
};
};
2020-08-31 07:52:41 +00:00
// '/logout', logout user
2019-11-23 23:37:01 +00:00
function logout() {
let ajax = new XMLHttpRequest();
ajax.open("GET", "/api/logout", true);
ajax.setRequestHeader('Content-Type', 'charset=UTF-8');
ajax.send("");
ajax.onload = () => {
let json = JSON.parse(ajax.responseText);
2020-08-17 08:11:45 +00:00
if(json.message && json.message == "msg.auth.logout.successful") window.location.href = "./";
2019-11-23 23:37:01 +00:00
};
}
setTimeout(function () {
if(document.getElementById("listener_logout")) {
logout();
}
}, 100);
2020-02-29 20:18:37 +00:00
2020-08-31 07:52:41 +00:00
// '/authenticate', cancels Authentication
2020-03-06 23:41:48 +00:00
function cancelRequest() {
let ajax = new XMLHttpRequest();
ajax.open("GET", "/api/cancel", true);
ajax.setRequestHeader('Content-Type', 'charset=UTF-8');
ajax.send("");
ajax.onload = () => {
let json = JSON.parse(ajax.responseText);
2020-08-17 08:11:45 +00:00
if(json.message && json.message == "msg.request.operation.cancel.successful") window.location.href = "./";
2020-03-06 23:41:48 +00:00
};
}
2020-02-29 20:18:37 +00:00
// @url: https://stackoverflow.com/a/901144
function getParameterByName(name) {
let url = window.location.href;
name = name.replace(/[\[\]]/g, '\\$&');
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, ' '));
}