Webauthn\FIDO

Семен12

Client
Регистрация
22.07.2019
Сообщения
62
Благодарностей
18
Баллы
8
Отключение webauthn API.
Перед запуском страницы, создайте свой js код. И поставьте условия "при загрузке страницы - всё время - во всех вкладках".
JavaScript:
(function () {
    try {
        // На всякий случай убираем PublicKeyCredential
        window.PublicKeyCredential = undefined;

        if (navigator.credentials) {
            const proto = Object.getPrototypeOf(navigator.credentials);

            if (proto && proto.create) {
                proto.create = function () {
                    return Promise.reject(new Error("WebAuthn create blocked"));
                };
            }

            if (proto && proto.get) {
                proto.get = function () {
                    return Promise.reject(new Error("WebAuthn get blocked"));
                };
            }
        }

        return "ok";
    } catch (e) {
        return "error: " + e;
    }
})();
Чтобы убедиться, что прошло всё гладко, в консоли разработчика браузера введите команды:

JavaScript:
window.PublicKeyCredential
// должно быть: undefined

navigator.credentials
// всё ещё CredentialsContainer {} (это нормально)

navigator.credentials.create
// должно быть: function () { return Promise.reject(...) } — НЕ native code
Удачи!
 
Последнее редактирование:

zarufakis

Client
Регистрация
22.03.2019
Сообщения
2 000
Благодарностей
1 403
Баллы
113
По отсутствию лайков и комментариев, никто не понимает что это и для чего
 
  • Спасибо
Реакции: southside

Dmitriy_Zenno

Administrator
Регистрация
28.10.2025
Сообщения
213
Благодарностей
82
Баллы
28
Отключение webauthn API.
Перед запуском страницы, создайте свой js код. И поставьте условия "при загрузке страницы - всё время - во всех вкладках".
JavaScript:
(function () {
    try {
        // На всякий случай убираем PublicKeyCredential
        window.PublicKeyCredential = undefined;

        if (navigator.credentials) {
            const proto = Object.getPrototypeOf(navigator.credentials);

            if (proto && proto.create) {
                proto.create = function () {
                    return Promise.reject(new Error("WebAuthn create blocked"));
                };
            }

            if (proto && proto.get) {
                proto.get = function () {
                    return Promise.reject(new Error("WebAuthn get blocked"));
                };
            }
        }

        return "ok";
    } catch (e) {
        return "error: " + e;
    }
})();
Чтобы убедиться, что прошло всё гладко, в консоли разработчика браузера введите команды:

JavaScript:
window.PublicKeyCredential
// должно быть: undefined

navigator.credentials
// всё ещё CredentialsContainer {} (это нормально)

navigator.credentials.create
// должно быть: function () { return Promise.reject(...) } — НЕ native code
Удачи!
Лайк за работу поставил, но лучше подробней расписать что это и для чего это :-)
 
  • Спасибо
Реакции: southside

Семен12

Client
Регистрация
22.07.2019
Сообщения
62
Благодарностей
18
Баллы
8
Этим скриптом отключается автоматический запрос сайтов к браузеру через webauthn API для формирования passkey (ключ, пин, фейс айди). Например, после реги аккаунтов, где принудительно вас кидают на окно создания ключа. Внутри самого ПМ, управлять окном passkey неполучилось (или это невозможно). Окно управляется браузером, а не dom страницей. В целом тему создал, потому чт по поиску никто с этим не сталкивался. Оставил как шпаргалку.
 
  • Спасибо
Реакции: Rock1e и уауауауа

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)