Двухфакторная аутентификация



2ФА — один из самых надёжных механизмов защиты аккаунтов на сегодняшний день. Её суть заключается в запросе у пользователя аутентификационных данных двух разных типов. Как правило, первый тип данных — логин и пароль, которые пользователь должен помнить, второй — SMS или какой-нибудь ещё вариант с привязкой к смартфону пользователя.



Один из таких вариантов — генерация 6-значных кодов на привязанном к аккаунту смартфоне. При создании аккаунта пользователю нужно отсканировать QR-код на сайте из специального мобильного приложения для кодов (например, Google Authenticator). Далее при каждом входе на сайт кроме логина и пароля нужно будет дополнительно ввести код из этого приложения. Таким образом, при краже пароля пользователя злоумышленник всё равно не сможет войти в аккаунт из-за двухэтапной защиты.



Наш подписчик создал проект, в котором реализовал этот механизм аутентификации. Его можно использовать для создания полноценной 2ФА, а можно написать приложение, вход в которое будет привязан только к кодам, которые генерит ваш смартфон.



Сайт-песочница, где можно протестить вход по коду из приложения: https://awap.pw/



Исходники проекта гитхабе:

— клиент: https://github.com/aleoheen/awap-client

— сервер: https://github.com/aleoheen/awap-server



Документация по REST API проекта: https://aleoheen.github.io/awap-server/



#безопасность #инструменты