Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Atualização da nomenclatura de marcas
Informações
titleAtenção

Esta página foi revisada para considerar as novas configurações de server do fluig para a atualização atualizações 1.6 e superiores do TOTVS Fluig Plataforma.

Caso possua uma atualização anterior do fluig escolha o tópico da versão 1.5.13 e anteriores desta página.

...

O objetivo deste documento é direcionar desenvolvedores que desejam criar widgets e componentes para o fluigTOTVS Fluig Plataforma, aproveitando sua infraestrutura de autenticação.

...

O Single Sign-On ou login único, é um mecanismo pelo qual é possível um usuário obter acesso a múltiplos serviços autenticando-se apenas uma vez em algum destes serviços.

No fluig Na plataforma TOTVS Fluig a autenticação deve ser sempre iniciada no próprio fluig na própria plataforma (acessando a Home e informando usuário/senha). A partir daí então, os widgets e componentes poderão fazer uso do SSO para confiarem na autenticação.

Uma vez autenticado, os widgets poderão acessar os serviços do fluig (por exemplo, API pública) diretamente, sem a necessidade de fazer uma autenticação a cada requisição (por exemplo, via OAuth).

...


A partir da atualização 1.6

...

A autenticação das widgets via SSO depende de três arquivos:


Deck of Cards
effectDuration0.5
historyfalse
idsamples1
effectTypefade
Card
defaulttrue
id1
labelweb.xml
  • Localizado dentro da pasta WEB-INF, o arquivo web.xml deve conter o seguinte conteúdo:
Bloco de código
languagexml
themeEclipse
titleweb.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">
	<security-constraint>
		<display-name>REST</display-name>
		<web-resource-collection>
			<web-resource-name>REST</web-resource-name>
			<description>REST</description>
			<url-pattern>/api/rest/*</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<description>REST</description>
			<role-name>user</role-name>
		</auth-constraint>
	</security-constraint>
    <login-config>
        <auth-method>FLUIGAUTH, FORM</auth-method>
        <realm-name>TOTVSTech</realm-name>
        <form-login-config>
            <form-login-page>/login.jsp</form-login-page>
        </form-login-config>
    </login-config>
    <security-role>
        <role-name>totvstech</role-name>
    </security-role>
    <security-role>
        <role-name>user</role-name>
    </security-role>
    <security-role>
        <role-name>sysadmin</role-name>
    </security-role>
</web-app>
  • Deve-se atentar para a tag <security-constraint>, que define os caminhos que irão precisar de autenticação para serem acessados (no exemplo, <contexto-da-windget>/api/rest/*).
  • Deve-se conter pelo menos uma tag <security-constraint>. A quantidade desta tag pode variar conforme necessidade.
Card
id2
labeljboss-web.xml
  • Localizado dentro da pasta WEB-INF, o arquivo jboss-web.xml deve conter o seguinte conteúdo:
Bloco de código
languagexml
themeEclipse
titlejboss-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <context-root>/[contexto-da-widget]</context-root>
    <disable-cross-context>false</disable-cross-context>
    
    <security-domain>TOTVSTech</security-domain>
    <security-role>
		<role-name>user</role-name>
		<principal-name>totvstech</principal-name>
	</security-role>
	<security-role>
		<role-name>totvstech</role-name>
		<principal-name>totvstech</principal-name>
	</security-role>
	<security-role>
		<role-name>sysadmin</role-name>
		<principal-name>wcmadmin</principal-name>
	</security-role>
	<security-role>
		<role-name>admin</role-name>
		<principal-name>wcmadmin</principal-name>
	</security-role>
</jboss-web>
  • Deve-se atentar para a tag <context-root>, que define o contexto que fará parte da URL para acessar recursos estáticos (js, css, etc.) dessa widget.
Card
id3
labelbeans.xml
  • Localizado dentro da pasta WEB-INF, o arquivo beans.xml deve conter o seguinte conteúdo:
Bloco de código
languagexml
themeEclipse
titlebeans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
Configuração na Versão


Atualização 1.5.13 e Anteriores


A autenticação das widgets via SSO depende de quatro arquivos:


Deck of Cards
effectDuration0.5
historyfalse
idsamples1
effectTypefade
Card
defaulttrue
id1
labelweb.xml
  • Localizado dentro da pasta WEB-INF, o arquivo web.xml deve conter o seguinte conteúdo:
Bloco de código
languagexml
themeEclipse
titleweb.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">
	<security-constraint>
		<display-name>REST</display-name>
		<web-resource-collection>
			<web-resource-name>REST</web-resource-name>
			<description>REST</description>
			<url-pattern>/api/rest/*</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<description>REST</description>
			<role-name>user</role-name>
		</auth-constraint>
	</security-constraint>
    <login-config>
        <auth-method>FORM</auth-method>
        <realm-name>TOTVSTech</realm-name>
        <form-login-config>
            <form-login-page>/login.jsp</form-login-page>
        </form-login-config>
    </login-config>
    <security-role>
        <role-name>totvstech</role-name>
    </security-role>
    <security-role>
        <role-name>user</role-name>
    </security-role>
    <security-role>
        <role-name>sysadmin</role-name>
    </security-role>
</web-app>
  • Deve-se atentar para a tag <security-constraint>, que define os caminhos que irão precisar de autenticação para serem acessados (no exemplo, <contexto-da-windget>/api/rest/*).
  • Deve-se conter pelo menos uma tag <security-constraint>. A quantidade desta tag pode variar conforme necessidade.
Card
id2
labeljboss-web.xml
  • Localizado dentro da pasta WEB-INF, o arquivo jboss-web.xml deve conter o seguinte conteúdo:
Bloco de código
languagexml
themeEclipse
titlejboss-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <context-root>/[contexto-da-widget]</context-root>
    <disable-cross-context>false</disable-cross-context>
    
    <security-domain>TOTVSTech</security-domain>
    <security-role>
		<role-name>user</role-name>
		<principal-name>totvstech</principal-name>
	</security-role>
	<security-role>
		<role-name>totvstech</role-name>
		<principal-name>totvstech</principal-name>
	</security-role>
	<security-role>
		<role-name>sysadmin</role-name>
		<principal-name>wcmadmin</principal-name>
	</security-role>
	<security-role>
		<role-name>admin</role-name>
		<principal-name>wcmadmin</principal-name>
	</security-role>
    <valve>
        <class-name>com.totvs.technology.auth.saml.TOTVSAuthenticatorValve</class-name>
    </valve>
</jboss-web>
  • Deve-se atentar para a tag <context-root>, que define o contexto que fará parte da URL para acessar recursos estáticos (js, css, etc.) dessa widget.
Card
id3
labelbeans.xml
  • Localizado dentro da pasta WEB-INF, o arquivo beans.xml deve conter o seguinte conteúdo:
Bloco de código
languagexml
themeEclipse
titlebeans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
Card
id4
labelfoundation-security-authentication-smal.jar
Bloco de código
languagexml
themeEclipse
titlefoundation-security-authentication-smal.jar
<dependency>
	<groupId>com.fluig</groupId>
	<artifactId>foundation-security-authentication-saml</artifactId>
	<scope>compile</scope>
	<version>[versão-do-fluig]</version>
</dependency>