CONTEÚDO
- Visão Geral
- Exemplo de utilização
01. VISÃO GERAL
O acesso aos endpoints REST utilizados no produto TOTVS - Linha Datasul, validam somente se o usuário possui acesso ao login do produto, não sendo validado seus respectivos grupos de segurança.
Para melhorar as configurações de acesso e segurança aos endpoints, a partir da versão 12.1.33 foi implementada uma funcionalidade que restringe o acesso aos mesmos de acordo com o grupo de segurança dos usuários.
02. EXEMPLO DE UTILIZAÇÃO
Nota
A validação de segurança somente será realizada caso possua um endpoint cadastrado nos programas citados anteriormente.
Para evitar quebras de funcionalidade entre as versões e restrições indevidas aos enpoints, caso não possua o cadastro, o acesso é permitido por padrão.
Efetue o cadastro da API REST no cadastro de programas, sendo o campo "Nome Externo" com a referencia da URL do endpoint
Nota
Com o intuito de simplificar a parametrização e padronizar as configurações das APIs quanto as regras de segurança, log de execução e cadastros de UPCs, a partir da release 12.1.2407 o recomendado é efetuar o cadastro do endpoint seguindo o padrão de nomenclatura dos diretórios Progress.
Exemplo:
Antes: api/btb/v1/properties (Endereço do endpoint da API)
Depois: btb/api/v1/properties (padrão de diretórios onde o fonte Progress responderá a API)
Observação:
Certifique-se a utilização de / (barra) e extensões. O cadastro do Nome Externo não deve possuir o caracter barra no início e a referencia do arquivo (no exemplo o properties.p) não deve possuir extensões e também o caracter barra em seu final.
Exemplos:
Até 12.1.2311 (inclusive) | Versão 12.1.2407 e superior |
---|---|
URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties Nome Externo: api/btb/v1/properties | URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties Nome Externo: btb/api/v1/properties |
Na aba Opções, selecione o tipo de Template API REST
Efetue a configuração do(s) grupo(s) de segurança desejados
Será permitido o acesso caso o usuário que efetuou a autenticação ao endpoint possua o mesmo grupo que foi configurado anteriormente
- Caso seja permitido o acesso, será retornado o HTTP Status 200 com o resultado da requisição
- Caso o acesso não seja permitido, será retornado o HTTP Status 403
Dica
Formatos deste exemplo segue o template:
PADRÃO NOVO API - /API
"{protocolo}://{host}/{api}/{modulo}/{versao}/{recurso}"
A segurança do endpoint não considera os possíveis "Path Parameters" enviados na URL.
Para o exemplo acima, todos os parâmetros enviados após o /properties, seguirão as mesmas regras de segurança da URL "principal".
Na prática significa que as URLs com parâmetros apresentadas abaixo serão autorizadas ou bloqueadas mediante ao cadastro anterior.
URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties/email
URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties/fluig
URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties/access
...
Para mais detalhes quanto a definição das URLs, consultar o Guia API TOTVS: https://tdn.totvs.com/x/nDUxE
CADASTRO DO NOME EXTERNO DIFERENTES DO CONTEXTO /API
Os endpoints abaixos seguem regras específicas para desconsiderar os pathParameters enviados na URL
Até 12.1.2311 (inclusive) | Versão 12.1.2407 e superior |
---|---|
PADRÃO COMPATIBILIDADE API - /dts/datasul-rest/resources/prg/ ou /totvs-rest/prg/ Deve ser cadastrado o contexto inicial com os três níveis após o contexto (módulo/versão/programa) Exemplos: /dts/datasul-rest/resources/prg/fwk/v1/menuUsers /totvs-rest/prg/fwk/v1/menuUsers PADRÃO ANTIGO API - /dts/datasul-rest/resources/api/ ou /totvs-rest/api/ Deve ser cadastrado o contexto inicial com os três níveis após o contexto (módulo/submodulo/programa) Exemplos: /dts/datasul-rest/resources/api/fwk/properties/propServices /totvs-rest/api/fwk/properties/propServices PADRÃO ANTIGO DBO - /dts/datasul-rest/resources/dbo ou /totvs-rest/dbo/ Deve ser cadastrado o contexto inicial com os dois níveis após o contexto (caminho_dbo/chaves_tabela) Exemplos: /dts/datasul-rest/resources/dbo/adbo/boad107na /totvs-rest/dbo/adbo/boad107na | Sempre deve ser cadastrado o caminho de diretórios juntamente com o endpoint Progress, sem a extensão do fonte e também sem as barras (no início ou final). Exemplos: PADRÃO COMPATIBILIDADE API - /dts/datasul-rest/resources/prg/ ou /totvs-rest/prg/ fwk/api/v1/menuUsers PADRÃO ANTIGO API - /dts/datasul-rest/resources/api/ ou /totvs-rest/api/ fwk/properties/propServices PADRÃO ANTIGO DBO - /dts/datasul-rest/resources/dbo ou /totvs-rest/dbo/ adbo/boad107na |