Estamos tentando instalar o Shibboleth pela primeira vez e conseguimos que tudo funcionasse perfeitamente ao aplicar um único sinal 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 essa configuração, podemos fazer isso:
CENÁRIO A
- Ir para
https://myawesomewebsite.com/secure
no meu navegador da web
- Meu navegador redireciona-me para o serviço de login único em
https://somesinglesignon.com/authenticate
- Eu digite meu nome de usuário e senha em
https://somesinglesignon.com/authenticate
e pressione submit
- O servidor me envia de volta para
https://myawesomewebsite.com/secure
Tudo acima funcionou perfeitamente.
Agora, modificarei meu arquivo host virtual para que <Location />
se torne <Location /secure>
. Então meu arquivo virtualhost é assim 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, em vez disso, obtenho isto:
CENÁRIO B
- Ir para
https://myawesomewebsite.com/secure
no meu navegador da web
- Meu navegador redireciona-me para o serviço de login único em
https://somesinglesignon.com/authenticate
- Eu digite meu nome de usuário e senha em
https://somesinglesignon.com/authenticate
e pressione submit
- O servidor me envia de volta para
https://myawesomewebsite.com/Shibboleth.sso/SAML2/POST
Por que a etapa 4, cenário A, é diferente da etapa 4 do cenário B? Como eu faço A.4 o mesmo que B.4?