Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Nota
titleImportante

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.

Diagrama de Sequência IDP_INITIATEDImage Added

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.

Diagrama de Sequência IDP_INITIATEDImage Removed

 

...

Diagrama de Sequência SP_INITIATEDImage Modified

Preparando o TFS para o Single-Sign-On

...

Bloco de código
languagexml
titlepom.xml
		<!-- 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
languagexml
titleweb.xml
    <!-- 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.

...