Estamos tentando instalar o Shibboleth pela primeira vez e conseguimos tudo funcionando perfeitamente ao aplicar o sinal único para um site em um domínio de nível superior, mas não em um subdiretório.
Aqui está o nosso arquivo de configuração do host virtual Apache que funciona perfeitamente:
<VirtualHost *:443>
... some other settings
<Location />
AuthType shibboleth
Require shibboleth
ShibRequireSession On
Order allow,deny
Allow from all
</Location>
</VirtualHost>
Com esta configuração, podemos fazer isso:
CENÁRIO A
- Ir para
https://myawesomewebsite.com/secure
no meu navegador da web - Meu navegador da web me redireciona para meu serviço de logon único em
https://somesinglesignon.com/authenticate
- Eu digito meu nome de usuário e senha em
https://somesinglesignon.com/authenticate
e pressiono enviar - O servidor me envia de volta para
https://myawesomewebsite.com/secure
Tudo acima funcionou perfeitamente.
Agora vou modificar meu arquivo de host virtual para que <Location />
se torne <Location /secure>
. Então, meu arquivo virtualhost se parece com isso agora:
<VirtualHost *:443>
... some other settings
<Location /secure>
AuthType shibboleth
Require shibboleth
ShibRequireSession On
Order allow,deny
Allow from all
</Location>
</VirtualHost>
Agora, quando tento repetir as etapas de 1 a 4, recebo isso:
CENÁRIO B
- Ir para
https://myawesomewebsite.com/secure
no meu navegador da web - Meu navegador da web me redireciona para meu serviço de logon único em
https://somesinglesignon.com/authenticate
- Eu digito meu nome de usuário e senha em
https://somesinglesignon.com/authenticate
e pressiono enviar - O servidor me envia de volta para
https://myawesomewebsite.com/Shibboleth.sso/SAML2/POST
Por que a etapa 4 do cenário A é diferente da etapa 4 do cenário B? Como faço para que A.4 seja igual a B.4?
Tente o seguinte:
Achei isso útil: http://shibboleth.1660669.n2.nabble.com/Protect-single-sub-directory-Moodle-with-SP-reverse-proxy-td6590009.html