Назад | Перейти на главную страницу

Какой самый простой способ интегрировать аутентификацию Authy (двухфакторную) с Apache httpd?

РЕДАКТИРОВАТЬ: Что-то похожее на Authy тоже могло бы работать, если бы эта служба была i) размещена / SaaS и ii) способна отправлять SMS-сообщения.

(* Apache httpd может в какой-то момент заменить на NGINX, поэтому в идеале предложенное решение будет перенесено, но, пожалуйста, не воздерживайтесь от предложения решений Apache только для httpd!)

Последовательность аутентификации и требования все еще не ясны для меня, но в остальном с apache должно быть легко. Я реализовал аналогичную настройку с использованием файлов cookie.

Вам необходимо иметь 2 местоположения в одном домене (чтобы разрешить доступ к одним и тем же файлам cookie) - одно защищенное, другое незащищенное (используется для отображения страницы входа и создания файла cookie при успешном входе в систему)

Конфигурация httpd защищенной локации будет выглядеть так:

<Location /content>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/
RewriteCond %{HTTP_COOKIE} ^.*2FAToken=([^;]+)
RewriteCond /home/securefolder/sessions/%1 -f
RewriteRule ^.*$ - [P,S=1]
RewriteRule /(.*) https://URL-of-login-page/login?url=%{REQUEST_FILENAME} [L]
</Location>

Вторая папка должна содержать вашу страницу входа в систему, которая будет обрабатывать вход и создавать файл cookie с именем 2FAToken со случайным идентификатором сеанса; он также должен создать текстовый файл в / home / securefolder / sessions / с именем файла, совпадающим с идентификатором сеанса

Apache прочитает файл cookie, убедитесь, что файл с таким же именем существует в / home / securefolder / sessions /, и разрешит доступ к вашему приложению.

Но, вопрос, почему бы вам не сделать это напрямую с вашим приложением?