Árvore de páginas

Versões comparadas

Chave

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

CONTEÚDO

Informações
iconfalse
Índice
maxLevel3
minLevel2
indent50px
absoluteUrltrue

01. VISÃO GERAL

O objetivo desta tela é efetuar o cadastro dos parâmetros a serem utilizados no serviço de login com OAuth2 no qual propões duas etapas para o acesso a um determinado endpoint, a autenticação e autorização.

      • A autenticação é a validação do usuário / senha, caso o mesmo seja válido, um token JWT é retornado para uso posterior. 
      • Com o token JWT, o mesmo deve ser enviado a cada requisição para que seja autorizado o acesso aos endpoints.

A parametrização é conforme o tipo a ser utilizado: Client Credentials ou Resource Owner Password Credentials (RO Credentials).

Dica
titleDica

O modelo Client Credentials é utilizado em integrações que possuem acesso direto aos endpoints, no qual consideram as conexões entre máquinas, ou seja, o M2M (Machine to Machine) Comunications.

Exemplo; AppServer, Mingle, Apps, entre outros

Já o modelo RO Credentials é utilizado em integrações que possuem que fazem uso de navegador, com a autenticação conforme o produto TOTVS - Linha Datasul.

Exemplo: Portais

02. EXEMPLO DE UTILIZAÇÃO

Para acessar a área de Propriedades OAuth2, basta acessar a tela de Propriedades do produto pelo menu (digitando: propriedades) ou pela engrenagem na barra superior - - em seguida pesquisar no campo de busca por OAuth2 ou procurar na tela o Card Propriedades OAuth2:


03. TELA - OAuth2

A seguir é apresentada a tela de parâmetros do modelo OAuth2:

a. Client Credentials



Principais Campos e Parâmetros

CampoDescrição
Nome do Aplicativo

Informar o nome do aplicativo / integração que será utilizado para a autenticação e geração do token JWT.

Exemplo:

Informações
titleInformação

As chaves para a autenticação são geradas automaticamente após o cadastro.

Escopo

Informar o escopo.

O escopo define uma segurança extra ao acesso ao endpoint, no qual efetua a limitação de acesso.

Exemplo:

Informações
titleInformação

O campo Escopo pode ser preenchido com o valor do módulo a ser restrito segundo a estrutura definida no Guita de implementação de API.

"{protocolo}://{host}/{api}/{modulo}/{versao}/{recurso}"

Para o exemplo acima, é permitido o acesso somente aos endpoints que possuem o módulo /btb, para outros módulos, ocorrerá o retorno HTTP status 403 (Forbidden).


Caso seja necessário configurar mais de um módulo, os mesmos podem ser cadastrados separados por espaço.


Caso não seja necessário restringir o acesso, pode ser utilizado o valor * (asterisco)

Nota

Ao finalizar o cadastro, basta clicar em "Exibir detalhes completamente" para apresentar chaves para autenticação (Id cliente, Senha cliente).


b. RO Credentials



Principais Campos e Parâmetros

CampoDescrição
Identificação Portal

Informar o nome do portal.

Exemplo:

Informações
titleInformação

O ID para a o relacionamento com o método de autenticação é gerado automaticamente após o cadastro.

Método de Autenticação

Informar o método de autenticação.

Exemplo:

Informações
titleInformação
  • EMS Datasul: Considera o usuário e senha do tipo Interno;
  • Fluig Identity: Efetua a autenticação do usuário no Identity e localiza sua referência (relacionado ao e-mail) (Necessário estar configurada as Propriedades Acesso → Fluig Identity);  
  • LDAP: Autentica o usuário do tipo Externo (Necessário estar configurado as Propriedades Acesso → LDAP).
Escopo

Informar o escopo.

Exemplo:

Informações
titleInformação

Os portais podem efetuar acesso a diversos endpoints, analisar o uso do portal com o intuito de parametrizar a melhor necessidade de utilização do escopo.

A validação segue a mesma regra do modelo Client Credentials, apresentada anteriormente,

Nota

Ao finalizar o cadastro, basta clicar em "Exibir detalhes completamente" para apresentar o ID que será utilizado no modelo de autenticação.


04. ASSUNTOS RELACIONADOS

HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>