Перейти до основного вмісту

WebAuthn

Огляд

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

Що таке WebAuthn?

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

Коротко кажучи, WebAuthn вимагає від користувачів створити пару відкритий ключ-приватний ключ і надати відкритий ключ вебсайту. Коли користувач хоче увійти на вебсайт, веб генерує випадкове число та просить користувача зашифрувати його своїм приватним ключем та надіслати результат назад. Отримавши результат, вебсайт використовує відкритий ключ для його розшифрування. Якщо розшифроване число відповідає раніше згенерованому випадковому числу, користувач вважається легітимним і отримує доступ до входу. Комбінація відкритого ключа та необхідної інформації, як-от ім'я користувача або інформація про авторизатора користувача, називається WebAuthn Credential, яку зберігає вебсайт.

Пара відкритий ключ-приватний ключ є виключно і унікально пов'язана з трьома шматками інформації: ім'я користувача, авторизатор користувача та 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

Після цього ви успішно увійдете.