Двухфакторная аутентификация в BPMonline. Этого же нет в платформе?! Ну и что!
Веселой пятницы!
Задачи в рамках проектов бывают разные, иногда очень даже оригинальные. Особенно интересно, когда для решения такой задачи нужно смотреть на вещи не в рамках платформы, а гораздо шире...
Возьмем, например, 2х-факторную аутентификацию (когда вводишь не только логин и пароль, а еще и код, присланный тебе на почту или мобильный).
Казалось бы, этот механизм должен быть реализован на уровне платформы... Но что делать, когда чего-то нет, а оно нужно? Конечно реализовать это чего-то самим!
Обрисуем кратко задачу: при вводе логина и пароля система должна перенаправлять пользователя на страницу ввода кода подтверждения, отправлять этому пользователю код по СМС/Email и ждать ввода. После ввода правильного кода пользователь должен попадать на страницу Единого Окна (ЕО).
Доп. условия:
- если пользователь ввел код, то неделю его не надо спрашивать код, а пускать только по логину и паролю
- если пользователь ввел код неправильно 3 раза, то заблокировать доступ пользователю и отправить сообщение администратору
- если пользователь пытается схитрить и после ввода логина и пароля вручную вводит адрес конкретной страницы (например реестр контрагентов), то система все равно должна перенаправлять его на страницу ввода кода подтверждения
Взвесив все за и против, был выбран механизм cookie, который в том числе поддерживается мобильными браузерами.
Алгоритм работы понятен из постановки задачи, а визуально это выглядит так
Кстати, с помощью такого механизма можно не только повысить общую безопасность системы, но и контролировать доступ пользователей с мобильных устройств, но это уже совсем другая история...