Відповіді:
Поки FastCGI не підтримує режим "авторизатор". Документація Shibboleth 2 описує додаток FastCGI SP, але пояснює, що він не працює з Nginx, оскільки в ньому відсутній режим «авторизатор», необхідний для фільтра.
Нитка Nginx показує, що багато людей хочуть режиму "авторизатор", але це занадто складно реалізувати. Коли люди намагаються, вони здаються .
Плакат Алекса в цій темі Rails ділиться кодом Ruby для автентичності Shibboleth, але, схоже, він використовував Apache. Інші плакати, що використовують Nginx, досі не могли змусити його працювати.
Так, це можливо. Встановити та налаштувати nginx-http-shibboleth
модуль для nginx, який надає можливість nginx розуміти частини специфікації авторизатора FastCGI, які може підтримувати nginx ; достатньо для успішної аутентифікації Shibboleth. Ваша установка зажадає FastCGI збірки постачальника Шибболет послуг (SP) і відповідної конфігурації Nginx , щоб спілкуватися з shibauthorizer
і shibresponder
FastCGI додатків.
Усі додатки та середовища можуть підтримуватись певним чином, якщо вони підтримують заголовки 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 .
Відмова: Я є поточним обслуговувачем цього модуля.
Примітка . Цей модуль замінює всі попередні повідомлення в блозі чи записи у вікі, про які я, можливо, писав раніше.
Я ще цього не пробував сам, але огляньте записи Девіда Бейтея на вікі Shibboleth .