В настоящее время я создаю конечную точку регистрации AJAX для Django, чтобы разрешить аутентификацию FIDO2 (вход с физическим аппаратным ключом). Это взято из следования примеру / документации из официальной библиотеки Python fido2 от Yubico а>.
Единственные зависимости - cbor.js
и js-cookie
. На данный момент все серверные части работают, однако я продолжаю получать эту ошибку JavaScript при вызове метода navigator.credentials.create
.
TypeError: Failed to execute 'create' on
'CredentialsContainer': The provided value is not of
type '(ArrayBuffer or ArrayBufferView)'
Код:
var csrftoken = Cookies.get('csrftoken');
fetch('/register/begin', {
method: 'POST',
headers: {
'X-CSRFToken': csrftoken
}
}).then(function(response) {
if(response.ok) {
return response.arrayBuffer();
}
throw new Error('Error getting registration data!');
}).then(CBOR.decode).then(function(options) {
console.log(options)
//This line is not working
return navigator.credentials.create(options);
//More code... complete registration...
Я не могу понять этого. Вы знаете, что не так? Спасибо!