Чи можливо використовувати Shibboleth 2 за допомогою Nginx + Passenger?


Відповіді:


8

Поки FastCGI не підтримує режим "авторизатор". Документація Shibboleth 2 описує додаток FastCGI SP, але пояснює, що він не працює з Nginx, оскільки в ньому відсутній режим «авторизатор», необхідний для фільтра.

Нитка Nginx показує, що багато людей хочуть режиму "авторизатор", але це занадто складно реалізувати. Коли люди намагаються, вони здаються .

Плакат Алекса в цій темі Rails ділиться кодом Ruby для автентичності Shibboleth, але, схоже, він використовував Apache. Інші плакати, що використовують Nginx, досі не могли змусити його працювати.


1

Так, це можливо. Встановити та налаштувати nginx-http-shibbolethмодуль для nginx, який надає можливість nginx розуміти частини специфікації авторизатора FastCGI, які може підтримувати nginx ; достатньо для успішної аутентифікації Shibboleth. Ваша установка зажадає FastCGI збірки постачальника Шибболет послуг (SP) і відповідної конфігурації Nginx , щоб спілкуватися з shibauthorizerі shibresponderFastCGI додатків.

Усі додатки та середовища можуть підтримуватись певним чином, якщо вони підтримують заголовки HTTP або змінні середовища, встановлені з nginx. Передача атрибутів Shibboleth вашій програмі здійснюється або через змінні середовища nginx (через shib_request_set), або через shib_request_use_headers on;HTTP-заголовки (будьте обережні). Я ніколи не використовував Passenger для розміщення програми, але у вашому випадку, здається, ви можете використовувати passenger_env_varта shib_request_setотримувати атрибути Shibboleth у вашу програму.

Повний процес налаштування знаходиться у сховищі GitHub за адресою https://github.com/nginx-shib/nginx-http-shibboleth .

Відмова: Я є поточним обслуговувачем цього модуля.

Примітка . Цей модуль замінює всі попередні повідомлення в блозі чи записи у вікі, про які я, можливо, писав раніше.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.