mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
2FA: Login via U2F
This commit is contained in:
@@ -1,22 +1,40 @@
|
||||
/*global $,u2f */
|
||||
$(function () {
|
||||
$("#u2f-progress").hide();
|
||||
if ($("#u2f-enroll").length) {
|
||||
var request = JSON.parse($.trim($("#u2f-enroll").html()));
|
||||
$("#u2f-progress").show();
|
||||
setTimeout(function () {
|
||||
var appId = request.registerRequests[0].appId;
|
||||
$('#promptModal').modal('show');
|
||||
console.log(appId, request.registerRequests);
|
||||
u2f.register(appId, request.registerRequests, [], function (data) {
|
||||
console.log("callback", data);
|
||||
if (data.errorCode) {
|
||||
$("#u2f-error").removeClass("sr-only");
|
||||
$("#u2f-progress").remove();
|
||||
} else {
|
||||
console.log("Register callback", data);
|
||||
$('#u2f-response').val(JSON.stringify(data));
|
||||
$('#u2f-form').submit();
|
||||
}
|
||||
});
|
||||
}, 500);
|
||||
}, 300);
|
||||
}, 100);
|
||||
} else if ($("#u2f-login").length) {
|
||||
var request = JSON.parse($.trim($("#u2f-login").html()));
|
||||
$("#u2f-progress").show();
|
||||
setTimeout(function () {
|
||||
var firstr = request.authenticateRequests[0];
|
||||
var appId = firstr.appId;
|
||||
var registeredKeys = [];
|
||||
var reqs = request.authenticateRequests;
|
||||
for (var i = 0; i < reqs.length; i++) {
|
||||
registeredKeys.push({version: reqs[i].version, keyHandle: reqs[i].keyHandle});
|
||||
}
|
||||
u2f.sign(appId, firstr.challenge, registeredKeys, function (data) {
|
||||
if (data.errorCode && data.errorCode != 5) {
|
||||
$("#u2f-error").removeClass("sr-only");
|
||||
} else {
|
||||
$('#u2f-response').val(JSON.stringify(data));
|
||||
$('#u2f-form').submit();
|
||||
}
|
||||
}, 300);
|
||||
}, 100);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user