Как создать ключ доступа в браузере на базе Windows без включения Windows HelloJavascript

Форум по Javascript
Ответить
Anonymous
 Как создать ключ доступа в браузере на базе Windows без включения Windows Hello

Сообщение Anonymous »

Я пытаюсь вызвать navigator.credentials.create на своей веб-странице под управлением Windows, а Windows Hello не включена. Церемония, которую я хотел бы увидеть, — это черный ящик с вопросом, хочу ли я использовать свой мобильный телефон, телефон на базе Android или Mac OS, и когда я нажимаю Да, отображается QR-код, и я могу отсканировать его на своем телефоне, и все хорошо.
К сожалению, на экране написано, что я должен включить Windows hello :-(
Полагаю, я могу исключить Аутентификаторы для обхода Hello, но не знаю, какие параметры требуются. Google может сделать это на том же компьютере, поэтому я попробовал UserVerification «разочарован», но это не помогло.
Это мой код: -
var createCredentialOptions = {
rp: {
name: "WebAuthn Sample App",
icon: ""
},
user: {
id: stringToArrayBuffer("some.user.guid"),
name: "mw@me.com",
displayName: "Richard Maher",
icon: ""
},
pubKeyCredParams: [
{
//External authenticators support the ES256 algorithm
type: "public-key",
alg: -7
},
{
//Windows Hello supports the RS256 algorithm
type: "public-key",
alg: -257
}
],
authenticatorSelection: {
//Select authenticators that support username-less flows
//requireResidentKey: true,

//Select authenticators that have a second factor (e.g. PIN, Bio) "preferred" "discouraged"
userVerification: "required",
//Selects between bound or detachable authenticators
authenticatorAttachment: "platform" // Optional
},
//Since Edge shows UI, it is better to select larger timeout values
timeout: 30000,
//an opaque challenge that the authenticator signs over
challenge: stringToArrayBuffer(serverChallenge.Token),
//prevent re-registration by specifying existing credentials here
excludeCredentials: [],
//specifies whether you need an attestation statement
attestation: "none"
};

const authAbort = new AbortController();
const abortSignal = authAbort.signal;
abortSignal.addEventListener("abort", (e) => { console.log("It has been aborted"); });

return navigator.credentials.create({
publicKey: createCredentialOptions,
signal: abortSignal
}).then(rawAttestation => {


Подробнее здесь: https://stackoverflow.com/questions/798 ... dows-hello
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»