Двухфакторная аутентификация для администратора/OAuth2 для REST API


Я создаю "безголовое" приложение Drupal. Интерфейс находится в AngularJS, использующем OAuth2 для аутентификации в REST API, который я создал. Клиент провел аудит безопасности и хотел получить дополнительную защиту в интерфейсе администрирования Drupal. Я реализовал модуль TFA с помощью Google Authenticator и Twilio SMS. Все хорошо.

За исключением того, что вызовы API требуют завершения/проверки TFA. Это отмечено в документации. В нем говорится о разработке пользовательский плагин, который будет обрабатывать подключения к веб-службам.

У меня нет проблем с этим, но мне было интересно, сталкивался ли кто-нибудь с этой проблемой и готов ли плагин для совместного использования. Я потратил уйму времени на поиски, но безрезультатно.

Author: kiamlaluno, 2015-07-20

1 answers

Насколько мне известно, для этого нет общедоступного плагина (обратите внимание, я автор drupal.org Модуль TFA).

Я действительно думаю, что это быстрая запись, в некоторой степени зависящая от того, как ваш REST API аутентифицирует запрос, и, в частности, создаете ли вы сеанс Drupal и запускаете процесс входа пользователя.

Вы можете разрешить вызову REST пропустить процесс TFA, очень похожий на то, как работает TfaTrustedBrowser. Метод loginAllowed() в этом плагине (реализующий TfaLoginPluginInterface) будет вызван, и вы можете проверить заголовки запросов/глобальную область (UID пользователя) и вернуть значение TRUE, чтобы сообщить TFA, чтобы не блокировать действие входа в систему.

 1
Author: bjeavons, 2015-07-21 23:11:33