Informações |
---|
|
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 |
---|
maxLevel | 4 |
---|
outline | true | style |
---|
none | exclude | .*ndice |
---|
|
Objetivo
...
Este O objetivo deste documento é direcionado a direcionar desenvolvedores que desejam criar widgets e componentes para o TOTVS Fluig Plataforma, aproveitando sua infraestrutura de autenticação.
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 |
---|
|
Macro para código.
Em editar é possível selecionar a linguagem. |
Exemplo de Nota
Exemplo de Observação
Assunto Secundário
Assunto, exemplo com marcadores. A seguir apenas um passo.
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:
...
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 |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | samples1 |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | web.xml |
---|
| - Localizado dentro da pasta WEB-INF, o arquivo web.xml deve conter o seguinte conteúdo:
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | web.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 |
---|
| - Localizado dentro da pasta WEB-INF, o arquivo jboss-web.xml deve conter o seguinte conteúdo:
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | jboss-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 |
---|
| - Localizado dentro da pasta WEB-INF, o arquivo beans.xml deve conter o seguinte conteúdo:
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | beans.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:
...
...
...
...
...
Um espaço anterior, + um marcado, + um epaço ao final. Exemplo de tabela abaixo.
Exemplo | Tabela |
---|
Dados | Dados |
Dados | Dados |
Dados | Dados |
| - Localizado dentro da pasta WEB-INF, o arquivo web.xml deve conter o seguinte conteúdo:
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | web.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 |
---|
| - Localizado dentro da pasta WEB-INF, o arquivo jboss-web.xml deve conter o seguinte conteúdo:
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | jboss-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.
|
|
...
Um espaço anterior, + um marcado, + um epaço ao final.
Image Removed
| - Localizado dentro da pasta WEB-INF, o arquivo beans.xml deve conter o seguinte conteúdo:
Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | beans.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> |
|
|
...
...
- Um espaço anterior, + um marcado, + um espaço ao final.
foundation-security-authentication-smal.jar |
| Bloco de código |
---|
language | xml |
---|
theme | Eclipse |
---|
title | foundation-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> |
|
|
...