Двухфакторная Аутентификация Для Всех

По материалам публикации «Микросервисный дизайн» Я решил написать (и написал!) открытый исходный код для реализации двухфакторной аутентификации.

По сути, есть два репозитория, которые предоставляют всю «предысторию» второго фактора аутентификации и предоставляют удобную архитектуру для реализации вкусностей.



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

Отдельно отмечу, что первая часть может служить самостоятельным приложением.

Оба сервиса работают через 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

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.