Histórico da Página
...
Nota | ||
---|---|---|
| ||
Para aplicações Web configurada com IDP_INITIATED, a inicialização funciona tanto pelo IDP (Identity Provider) quanto pelo SP (Service Provider). Em outras palavras, é possível inicializar uma aplicação Web tanto pelo Fluig Identity quanto pelo browser se a aplicação estiver configurada como IDP_INITIATED. |
IDP
...
_INITIATED
Este tipo de inicialização ocorre quando a chamada da aplicação é feita a partir do IDP (Identity Provider), ou seja, a partir do Fluig Identity.
O usuário acessa o Fluig Identity. Para ter acesso ao Fluig Identity, precisa se logar. Uma vez logado e autenticado, o IDP vai lançar a aplicação invocando o Servlet de Consumidor de Asserções (AssertionConsumerService). Esta Servlet recebe a requisição e repassa para o saml-java-toolkit que irá fazer todas as ações relacionadas a handshake e autoriazação do usuário. Uma vez realizadas as ações, o toolkit devolve um objeto que representa o usuário validado e autenticado.
O aplicativo, então, estabelece uma relação de confiança com o IDP e assume que o usuário devolvido é de fato válido e autêntico.
SP_INITIATED
Este tipo de inicialização ocorre quando a chamada da aplicação é feita a partir do próprio SP (Service Provider).
O usuário acessa o diretamente o aplicativo (URL no browser ou executável). O aplicativo identifica que está sendo acessado diretamente, então, durante as primeiras instruções de inicialização, direciona a requisição para a Servlet RequestGenerator. Esta Servlet redireciona a requisição para o Fluig Identity para que o usuário possa se logar. Uma vez logado, o Fluig Identity invoca o Servlet de Consumidor de Asserções (AssertionConsumerService). A partir daí, o resto do fluxo segue da mesma forma que o fluxo no IDP_INITIATED e resulta na entrega de um objeto que representa o usuário validado e autenticado.
Então, igualmente o aplicativo estabelece uma relação de confiança com o IDP e assume que o usuário devolvido é de fato válido e autêntico.
...
Preparando o TFS para o Single-Sign-On
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
<!-- DEPENDENCIAS DO SAML TOTVS --> <dependency> <groupId>com.totvslabs</groupId> <artifactId>saml-java-toolkit</artifactId> <version>1.2.3</version> </dependency> |
O toolkit SAML utiliza uma série um conjunto de propriedades que identifica e configura o toolkit para o Fluig identity. O framework da aplicação Web do portal de módulos do TFS possui o arquivo app.xml e o utiliza para guardar estas propriedades. Deve ser inseridas as propriedades que o toolkit SAML irá utilizar durante sua execução.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
<!-- CONFIGURACAO DO SAML DO FLUIG DA TOTVS --> <servlet> <servlet-name>ACS</servlet-name> <servlet-class>com.totalbanco.framework.josso.web.AssertionConsumerService</servlet-class> </servlet> <servlet-mapping> <servlet-name>ACS</servlet-name> <url-pattern>/ACS</url-pattern> </servlet-mapping> |
Segundo De acordo com o mapeamento, o request é direcionado para a Servlet abaixo. Tanto o doPost()
quanto o doGet()
delegam a chamada para o método privado receiveResponse()
. Note que ele faz uso das propriedades gravadas no app.xml descritas acima.
...