По материалам публикации «Микросервисный дизайн» Я решил написать (и написал!) открытый исходный код для реализации двухфакторной аутентификации.
По сути, есть два репозитория, которые предоставляют всю «предысторию» второго фактора аутентификации и предоставляют удобную архитектуру для реализации вкусностей.
Отдельно отмечу, что первая часть может служить самостоятельным приложением.
Оба сервиса работают через API.
Пин-коды
Это приложение отвечает за создание, отправку и проверку PIN-кода.Под капотом Синатра + Редис.
Реализовано:
- установка срока действия ПИН-кода;
- ограничение на количество попыток ввода;
- выбор стороннего шлюза для отправки СМС.
- другие способы доставки пинов (в идеале эту доставку нужно вынести в отдельный модуль/сервис);
- настраиваемый уровень сложности кода.
Бухгалтерский учет
Эта часть посвящена всему, что полезно для аутентификации, но не имеет к ней прямого отношения.Работает на Rails + PG. Реализовано:
- доступ с использованием сгенерированных ключей.
- настройки доступа (например, открыть доступ только к определенным IP-адресам);
- сбор статистики.
Например, SMS-шлюзы иногда помечают пропущенные SMS-сообщения как доставленные.
В этом плане созданная/подтвержденная статистика расскажет вам гораздо больше и поможет не потерять ценных пользователей.
Полученные результаты
Разумеется, решение разрабатывалось не как конкурент существующим, а как альтернатива.Например, когда вам нужно реализовать доставку через собственный шлюз, работать в закрытом режиме, добавить себе фичу и так далее.
Я также надеюсь, что сообщество поможет сделать сервис лучше своими экспертными оценками, запросами на включение и «бог знает чем еще».
Ссылки
Пин-коды: github.com/ИльяДонских/pincode Счет: github.com/IlyaDonskikh/pincode_account Возможно, у кого-то из читателей возник вопрос, что это за папка сервисов и почему в ней хранится вся бизнес-логика.Ответ здесь: Brewhouse.io/blog/2014/04/30/gourmet-service-objects.html .
Бонусы
Помимо всего вышеперечисленного, у меня есть свободные вычислительные мощности на Азуре, так что если вам интересно поэкспериментировать с этим проектом, но некуда пойти, то пишите мне в личное сообщение.Проект запущен в облачной версии здесь: pinc0de.com .
Теги: #двухфакторная аутентификация #безопасность #ruby #открытый исходный код #информационная безопасность #открытый исходный код #ruby
-
Как Я Проходил Техсео.эксперт (1 Уровень)
19 Oct, 24 -
Шумна Ли «Человеческая Матрица»?
19 Oct, 24 -
Не Создавайте Скопление Людей
19 Oct, 24 -
Обзор Игрового Ноутбука Asus G550Jk
19 Oct, 24