mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
41 lines
1.6 KiB
JavaScript
41 lines
1.6 KiB
JavaScript
/*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;
|
|
u2f.register(appId, request.registerRequests, [], function (data) {
|
|
if (data.errorCode) {
|
|
$("#u2f-error").removeClass("sr-only");
|
|
$("#u2f-progress").remove();
|
|
} else {
|
|
$('#u2f-response').val(JSON.stringify(data));
|
|
$('#u2f-form').submit();
|
|
}
|
|
}, 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);
|
|
}
|
|
});
|