- PVSM.RU - https://www.pvsm.ru -
Ранее я уже рассказывал [1] о том, как можно добавить авторизационные QR-коды, чтобы пользователи, которые уже вошли на сайт на компьютере, могли сразу же также авторизоваться на мобильных устройствах (например, на планшете или мобильном телефоне), и при этом не вводить ни адрес сайта, ни логин, ни пароль. Справа изображён ещё один вариант авторизации — с помощью файла.
Суть в следующем. Пользователь заходит на сайт, видит на странице обычную форму для входа, в которую он может ввести имя пользователя и пароль и авторизоваться. Но, помимо этого, вместо ввода имени пользователя и пароля, он может просто перетащить на форму авторизации специальный авторизационный файл, и, таким образом, войти на сайт, вообще не касаясь клавиатуры.
Исходный код (Python/Django) простого варианта реализации можно посмотреть здесь [2]. В каждом авторизационном файле хранится некоторая сгенерированная случайным образом строка символов, для которой в базе данных на сервере есть хэш, привязанный к определённому идентификатору пользователя. Таким образом, время, необходимое на вход, минимально: после того, как пользователь перетаскивает авторизационный файл на страницу, JS проверяет размер файла, вставляет содержимое в специальное текстовое поле и тут же отправляет форму — никаких дополнительных действий для входа не требуется, даже кнопку «Войти» нажимать не нужно.
Если вы хотите попробовать вышеописанный метод авторизации, то вам достаточно склонировать себе репозиторий, создать структуру БД с помощью management-команды syncdb (при этом можно как раз создать пользователя), создать авторизационный файл и запустить сервер разработки.
git clone https://github.com/aruseni/fileauth.git
cd fileauth/
python manage.py syncdb
python manage.py makeauthfile 1 key.txt
python manage.py runserver
После открытия http://127.0.0.1:8000/ [3] в браузере нужно перетащить на форму авторизации появившийся в директории fileauth файл key.txt.
У такого подхода, разумеется, есть как преимущества, так и недостатки. Так что советую внедрять подобное решение только в том случае, если вы уверены, что обеспечили для ваших пользователей достаточную безопасность, и они понимают, что делают.
Автор: MaGIc2laNTern
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/avtorizatsiya/51010
Ссылки в тексте:
[1] рассказывал: http://habrahabr.ru/post/181093/
[2] здесь: https://github.com/aruseni/fileauth
[3] http://127.0.0.1:8000/: http://127.0.0.1:8000/
[4] Источник: http://habrahabr.ru/post/206450/
Нажмите здесь для печати.