Перейти к основному содержанию

WebAuthn

Обзор

Мы рады сообщить клиентам Casdoor, что теперь Casdoor поддерживает вход в систему с использованием WebAuthn. Это означает, что вы можете входить в систему, используя свои биологические идентификаторы, такие как отпечатки пальцев или распознавание лица, или даже U-диски, при условии, что ваше устройство поддерживает эти крутые методы авторизации и WebAuthn.

Что такое WebAuthn?

WebAuthn - это API веб-аутентификации, спецификация, написанная W3C и FIDO в сотрудничестве с Google, Mozilla, Microsoft, Yubico и другими. Этот API позволяет серверам регистрировать и аутентифицировать пользователей с использованием криптографии открытого ключа вместо пароля. Он позволяет серверам интегрироваться с надежными аутентификаторами, встроенными в устройства, такими как Windows Hello или Touch ID от Apple.

Проще говоря, WebAuthn требует от пользователей создания пары открытый ключ-закрытый ключ и предоставления открытого ключа веб-сайту. Когда пользователь хочет войти на веб-сайт, веб генерирует случайное число и просит пользователя зашифровать его своим закрытым ключом и отправить результат обратно. Получив результат, веб-сайт использует открытый ключ для его расшифровки. Если расшифрованное число совпадает с ранее сгенерированным случайным числом, пользователь считается законным пользователем и получает доступ к входу в систему. Комбинация открытого ключа и необходимой информации, такой как имя пользователя или информация об авторизаторе пользователя, называется учетными данными WebAuthn, которые хранятся веб-сайтом.

Пара открытый ключ-закрытый ключ исключительно и уникально связана с тремя элементами информации: именем пользователя, авторизатором пользователя и URL-адресом веб-сайта. Это означает, что если комбинация (имя пользователя, авторизатор пользователя и URL-адрес веб-сайта) одинакова, пара ключей должна быть идентичной, и наоборот.

Для получения более подробной информации о технологии WebAuthn вы можете посетить https://webauthn.guide/.

Как использовать WebAuthn в Casdoor?

На странице входа вы, возможно, уже заметили опцию входа с использованием WebAuthn. Однако, если у вас еще нет учетных данных WebAuthn (что можно сравнить с паролем WebAuth), это руководство покажет вам, как создать и управлять учетными данными, а затем войти в систему, используя их.

Шаг 0: Измените конфигурации и включите аутентификацию WebAuthn

В файле conf/app.conf вы можете найти следующую конфигурацию:

origin = "http://localhost:8000"

Пожалуйста, убедитесь, что эта конфигурация точно соответствует URL вашего веб-сайта.

Примечание: WebAuthn поддерживается только для HTTPS, если только вы не используете localhost.

Затем войдите как администратор и перейдите на страницу редактирования вашего приложения. Включите переключатель "Enable WebAuthn signin". По умолчанию эта функция не активирована.

Шаг 1: Перейдите на страницу "Мой аккаунт"

Перейдите на страницу аккаунта. На этой странице вы должны увидеть кнопку "Добавить учетные данные WebAuthn" и список, отображающий все учетные данные WebAuthn, которые вы ранее зарегистрировали.

WebAuthn1

Нажмите кнопку и следуйте инструкциям вашего устройства, чтобы зарегистрировать новые учетные данные в Casdoor. Вы можете удалить любые учетные данные, используя кнопку "удалить" в списке.

Шаг 2: Войдите в систему, используя WebAuthn

Перед началом этого шага убедитесь, что вы вышли из Casdoor.

Перейдите на страницу входа, выберите метод входа WebAuthn, введите свое имя пользователя и нажмите кнопку входа. Следуйте инструкциям вашего устройства.

(Например, если вы используете отпечаток пальца и Windows Hello, вы должны увидеть что-то вроде этого)

WebAuthn2

После этого вы успешно войдете в систему.