Á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 atualizações 1.6 e superiores do TOTVS Fluig Plataforma.

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

Índice

Índice
maxLevel4
outlinetrue
stylenone
exclude.*ndice
 
style
 
none


Objetivo

...

O objetivo deste guia é ...

Assunto Primário

Explicação. Exemplo para links e anexos.

O fonte do exemplo citado pode ser baixado a partir do seguinte link:

Colleague Report.zip

Exemplo de macro para bloco de código:

Bloco de código
languagejava
Macro para código.
Em editar é possível selecionar a linguagem.

 

Exemplo de Nota

Informações
titleNota

Insere Nota

 

Exemplo de Observação

Nota
titleObservação

Insere Observação

 

Assunto Secundário

Assunto, exemplo com marcadores. A seguir apenas um passo.

  • Marcador.
  • Marcador.

Image Removed

Figura 1 - Exemplo de imagem (centralizada). Legenda negrito e justificada.

 

Assunto Secundário

Comentário sobre o assunto. Macro para passo a passo.

Acompanhe os passos a seguir:

Abaixo é utilizado o exemplo de interação passo a passo. Facilita o entendimento.

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


Single Sign-On (SSO)

...

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.

Na plataforma TOTVS Fluig a autenticação deve ser sempre iniciada 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>


Atualização 1.5.13 e Anteriores


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


Deck of Cards
effectDuration0.5

...

history

...

false

...

id

...

samples1
effectTypefade
Card
defaulttrue
id1
label

...

 

  • Um espaço anterior, + um marcado, + um epaço ao final. Exemplo de tabela abaixo.

 

ExemploTabela
DadosDados
DadosDados
DadosDados

 

web.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
label

...

 

  • Um espaço anterior, + um marcado, + um epaço ao final.

 

...

id3
labelPasso 3

 

  • Um espaço anterior, + um marcado, + um epaço ao final.

Image Removed

...

jboss-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
id

...

3
label

...

 

  • Um espaço anterior, + um marcado, + um espaço ao final.

 

beans.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>
Painel
borderWidth300
Nesta página:

Índice
maxLevel4
stylenone
exclude.*ndice

Páginas Relacionadas:

 

Third Party Trademarks

Jira
serverTOTVS S/A
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryproject in (FINOVA) AND issuetype in ("Homologar Dev.Fluig", "Homologar Help Online", "Homologar Treinamento") OR project in (LMS) AND issuetype in ("Homologar Dev.Fluig", "Revisar Help Online", "Homologar Treinamento") ORDER BY labels ASC, key ASC, resolved DESC, summary DESC, priority DESC
serverId134e59fe-d46e-31df-b84e-37447ff00a2c

 

...