У меня есть сервер nginx, обслуживающий защищенные ресурсы. Последнее, что я хочу делать, это управлять запросами на сброс пароля, поэтому я смотрел наВойти через Google.
У них есть примеры для PHP, Java, JavaScript и т. д., но не для Apache или nginx. Как мне настроить nginx для замены базовой аутентификации наВойти через Googleфункциональность?
Некоторые прокси-системы позади зависят от переменной %REMOTE_USER%, поэтому мне нужно сохранить ее. Помощь приветствуется.
Обновлять Для ясности: у меня есть набор сервисов (tomcat, node.js, couchdb, vert.x, немного python), которые находятся за веб-сервером, которые могут или не могут авторизовать пользователя для взаимодействия с ними. У всех них есть общее то, что они могут получать информацию об идентичности с веб-уровня.
Итак, что я делаю на веб-уровне: указываю - «только для аутентифицированных пользователей» (что являетсяавторизациянастройки, я "повторно использую" для запускааутентификациямеханизм).
После аутентификации пользователя эта идентификационная информация передается дальше. Для примера с базовой аутентификацией и CouchDB, проверьтеэта запись в блоге. Я могу сделать то же самое в nginx, но здесь задача состоит в том, чтобы обременить кого-то другого необходимостью хранить пароль в секрете, используя идентификаторы, установленные у внешнего провайдера.
решение1
Может быть, вы могли бы запуститьoauth2_proxyперед вашим веб-приложением.
Обратный прокси-сервер и статический файловый сервер, обеспечивающий аутентификацию с использованием провайдеров (Google, GitHub и других) для проверки учетных записей по электронной почте, домену или группе.
решение2
Пока вы можететеоретическиреализовать OAuth на уровне веб-сервера (пример:http://chairnerd.seatgeek.com/oauth-support-for-nginx-with-lua/), это вообще плохая идея. Есть примеры для серверных языков, потому что именно там вы должны это реализовать — в вашем коде, а не на сервере.