Respostas:
Não até o FastCGI suportar o modo "autorizador". A documentação do Shibboleth 2 descreve um aplicativo FastCGI SP, mas explica que não funciona com o Nginx porque não possui o modo "autorizador" necessário para o filtro.
Um thread do Nginx mostra que muitas pessoas desejam o modo "autorizador", mas é muito difícil de implementar. Quando as pessoas tentam, elas desistem .
O pôster Alex neste thread do Rails compartilha o código Ruby para autenticação Shibboleth, mas parece ter usado o Apache. Outros cartazes usando o Nginx ainda não conseguiram fazê-lo funcionar.
Sim é possivel. Instale e configure o nginx-http-shibboleth
módulo para o nginx, que fornece ao nginx a capacidade de entender as partes da especificação do autor do FastCGI que o nginx pode suportar ; o suficiente para a autenticação Shibboleth ter sucesso. Sua instalação exigirá a construção FastCGI do Shibboleth Service Provider (SP) e a configuração apropriada do nginx para se comunicar com os aplicativos shibauthorizer
e shibresponder
FastCGI.
Todos os aplicativos e ambientes de back-end podem ser suportados de alguma maneira, assumindo que eles suportem cabeçalhos HTTP ou variáveis de ambiente definidas no nginx. A passagem dos atributos Shibboleth para o seu aplicativo é via variáveis de ambiente nginx (via shib_request_set
) ou via shib_request_use_headers on;
cabeçalhos HTTP (tenha cuidado com a falsificação). Eu nunca usei o Passenger para hospedar um aplicativo, mas no seu caso, parece que você pode usar passenger_env_var
e shib_request_set
obter atributos do Shibboleth em seu aplicativo.
O processo de configuração completa é encontrado no repositório do GitHub em https://github.com/nginx-shib/nginx-http-shibboleth .
Isenção de responsabilidade: Eu sou o atual mantenedor desse módulo.
Nota : este módulo substitui todas as postagens anteriores do blog ou entradas do wiki que eu possa ter escrito anteriormente.
Eu ainda não tentei isso sozinho, mas verifique as entradas de David Beitey no wiki do Shibboleth .