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, которые вы ранее зарегистрировали.
Нажмите кнопку и следуйте инструкциям вашего устройства, чтобы зарегистрировать новые учетные данные в Casdoor. Вы можете удалить любые учетные данные, используя кнопку "удалить" в списке.
Шаг 2: Войдите в систему, используя WebAuthn
Перед началом этого шага убедитесь, что вы вышли из Casdoor.
Перейдите на страницу входа, выберите метод входа WebAuthn, введите свое имя пользователя и нажмите кнопку входа. Следуйте инструкциям вашего устройства.
(Например, если вы используете отпечаток пальца и Windows Hello, вы должны увидеть что-то вроде этого)
После этого вы успешно войдете в систему.