lemonldap-ng/lemonldap-ng-portal/site/htdocs/static/common/js/totpregistration.js
2018-02-20 18:36:34 +01:00

66 lines
1.6 KiB
JavaScript

// Generated by CoffeeScript 1.10.0
/*
LemonLDAP::NG TOTP registration script
*/
(function() {
var displayError, getKey, setMsg, token;
setMsg = function(msg, level) {
$('#msg').html(window.translate(msg));
$('#color').removeClass('message-positive message-warning alert-success alert-warning');
$('#color').addClass("message-" + level);
if (level === 'positive') {
level = 'success';
}
return $('#color').addClass("alert-" + level);
};
displayError = function(j, status, err) {
var res;
console.log('Error', err);
res = JSON.parse(j.responseText);
if (res && res.error) {
res = res.error.replace(/.* /, '');
console.log('Returned error', res);
return setMsg(res, 'warning');
}
};
token = '';
getKey = function(reset) {
return $.ajax({
type: "POST",
url: portal + "/totpregister/getkey",
data: {
newkey: reset
},
error: displayError,
success: function(data) {
var qr, s;
console.log(data);
s = "otpauth://totp/" + (escape(data.portal)) + ":" + (escape(data.user)) + "?secret=" + data.secret + "&issuer=" + (escape(data.portal));
qr = new QRious({
element: document.getElementById('qr'),
value: s,
size: 150
});
$('#serialized').text(s);
if (data.newkey) {
setMsg('yourNewTotpKey', 'warning');
} else {
setMsg('yourTotpKey', 'info');
}
return token = data.token;
}
});
};
$(document).ready(function() {
return getKey(0);
});
}).call(this);