Âncora |
---|
...
|
...
Devido a demanda de segurança na camada das APIs disponibilizadas pelo TSS, a partir da versão de release 12.1.2410 do TSS, o serviço REST deverá ser reconfigurado. A nova configuração de REST no produto passa a ser o TSS REST SERVER 1.0 e não mais as configurações de REST do Framework Protheus que deverão deixar de ser utilizada a partir da release 12.1.2410.
A seguir serão detalhadas as configurações do novo TSS REST SERVER.
|
Visando maior segurança às APIs REST do TSS, foi implementado o servidor TSS REST SERVER, que conta com uma camada a mais de segurança, usando autenticação para todas as APIs REST do TSS.
Este documento tem o objetivo de ilustrar a configuração do TSS REST SERVER a ser realizada no arquivo appserver.ini do TSS.
O TSS REST SERVER é o substituto para o REST 2.0 do Framework Protheus como configuração de REST para (e somente) o TSS.
Para isso, será necessário realizar a troca do REST 2.0 presente nos releases de TSS 12.1.2310 ou versões inferiores, para o novo TSS REST SERVER, que será oficialmente disponibilizado e sustentado na release 12.1.2410 ou superiores do TSS.
As configurações de REST presentes em releases do TSS inferiores à 12.1.2410 poderão ser mantidas mas não terão suporte a autenticação de APIs em REST.
A seguir, veremos como configurar o novo TSS REST SERVER de forma detalhada.
Aviso | ||
---|---|---|
| ||
As configurações detalhadas aqui são de uso exclusivo no produto TSS e em releases iguais ou superiores à 12.1.2410. |
...
Âncora | ||||
---|---|---|---|---|
|
Neste capitulo capítulo iremos abordar as configurações mínimas ou simplificada para o correto funcionamento do novo TSS REST do TSSSERVER.
Para isso, basta informar as seguintes seções e tags chaves no arquivo de appserver.ini do TSS.
São elas:
[TSSREST_CONFIG]
Servers=TSSREST_SERVER[TSSREST_SERVER]
Port=13221323
URIs=TSSREST_URI
[TSSREST_URI]
URL=/restapi/tss
Instances=1,4,1,1
[JOBTSSREST]
main=TSSREST_START
environment=SPED[ONSTART]
JOBS=JOBTSSREST
REFRESHRATE=10
Após inicialização do appserver.exe do TSS, no console.log será apresentado mensagem semelhante:
Com o indicativo da URL do REST criado:
Que poderá ser informado como endereço de URL em um browser/navegador, para verificação da disponibilidade do serviço de TSS REST SERVER:
Informações | ||
---|---|---|
| ||
Atenção à porta a ser utilizada, não poderá conflitar com nenhuma outra porta usada no mesmo appserver.ini. O JOBTSSREST deverá ser incluído junto dos demais jobs presentes na seção [ONSTART] e, uma vez que esteja presente, o job referente ao REST 2.0 do Framework poderá ser removido. |
...
Âncora |
---|
...
|
...
Aqui serão mostradas todas as configurações possível de serem configuradas para um controle maior do(s) serviço(s) REST do TSS.
Para isso, serão quebradas por seções do appserver.ini para um melhor entendimento.
[TSSREST_CONFIG]
Seção responsável por iniciar as configurações do TSS REST SERVER (HTTPSERVER).
De todos os nomes de seções que serão tratados, este é o único que é obrigatório manter o mesmo nome TSSREST_CONFIG.
Abaixo serão detalhadas as tags desta seção:
...
0=Desabilitado ou 1=Habilitado
...
1
...
Nome de Seções com configuração de porta e URL (pelo menos uma seção). Por ela é possível definir um ou mais servidores, sendo assim, pode-se informar uma lista.
...
Nome livre
...
Exemplos: ASCII, UTF-8, ANSI e ISO-8859-1
...
UTF-8
...
0=Desabilitado ou 1=Habilitado
...
0
Bloco de código | ||||
---|---|---|---|---|
| ||||
[TSSREST_CONFIG]
Enable=1
Servers=TSSREST_SERVER
Charset=UTF-8
Log=1 |
[TSSREST_SERVER]
Define as configurações de cada servidor HTTP e/ou HTTPS informados na sessão [HTTPSERVER] pela chave {SERVERS}.
Os nomes aqui preenchidos podem variar conforme desejado, neste caso vamos seguir tratando como [TSSREST_SERVER] apenas para exemplo.
Abaixo serão detalhadas as tags desta seção:
...
Campo livre
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
Port=1322
URIs=TSSREST_URI
Security=1
protocolMin=TLSv1.0
protocolMax=TLSv1.3
SslCertificate=C:\certificados\https_rest\cert_rest.crt
SslCertificateKey=C:\certificados\https_rest\cert_rest.pem
SslPassPhrase=123456 |
[TSSREST_URI]
Define as configurações de cada servidor HTTP e/ou HTTPS informados na sessão [HTTPSERVER] pela chave {SERVERS}.
Os nomes aqui preenchidos podem variar conforme desejado, neste caso vamos seguir tratando como [TSSREST_SERVER] apenas para exemplo.
Abaixo serão detalhadas as tags desta seção:
...
Indica o controle de thread pool disponíveis para atender as requisições de APIs no TSS REST SERVER, em formato P1,P2,P3,P4. Onde:
P1 = Indica a quantidade mínima de threads ativas no thread pool. Deve ser maior que zeros.
P2 = Indica a quantidade máxima de threads ativas no thread pool. Deve ser maior ou igual que P1.
P3 = Indica a quantidade mínima de threads prontas para execução no thread pool. Deve ser positivo e menor ou igual a P1.
P4= O fator de crescimento, indica a quantidade de threads a serem alocadas. Deve ser maior que zero.
...
Define lista de domínios permitidos para acessar as APIs do serviço REST. Exemplo: https://www.dominio.com.br/, https://10.172.0.84:1081/, http://localhost:1080/
...
|
Para uma configuração mais especifica das seções e chaves do TSS REST SERVER acessar: TSS REST SERVER 1.0 - Documentação Detalhada
Âncora | ||||
---|---|---|---|---|
|
Com o appserver.ini do TSS devidamente configurado, ao inicializar o serviço do TSS (appserver.exe), após mais ou menos 10 segundos da inicialização, serão impressos alguns logs no arquivo de console.log, informando o status da criação do(s) servidor(es) REST do TSS REST SERVER, conforme imagens a seguir:
Subida do TSS REST SERVER com sucesso:
Indicativo da(s) URL(s) do(s) TSS REST SERVER mapeado(s):
Cada URL poderá ser informado como endereço de URL em um browser/navegador, para verificação da disponibilidade do serviço REST do(s) servidor(es) do TSS REST SERVER:
Esta imagem somente será apresentado se o arquivo index.html estiver presente na pasta indicado na seção URIs
. Caso contrário será apresentada a seguinte tela: Âncora uris uris
Caso haja algum problema ao subir o servidor TSS REST SERVER, ao tentar informar a URL no navegador/browser será exibida a seguinte mensagem:
Isto significa que houve um problema na subida do TSS REST SERVER e as APIs não serão disponibilizadas para uso. A causa pode estar na configuração errônea do appserver.ini ou alguma tipo de conflito porta ou URI informados.
Âncora | ||||
---|---|---|---|---|
|
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
[TSSREST_URI]
URL=/rest/tss
RootPath=C:\tss\http-root\httprest\httpuri\
DefaultPage=index.html
Instances=1,10,2,1
CORSEnable=1
AllowOrigin=*
AllowMethods=POST,GET,DELETE,UPDATE
ExpirationTime=120
AcceptTimeOut=10 |
[JOBTSSREST]
Esta seção define a configuração do JOB responsável por criar o(s) serviço(s) do TSS REST SERVER.
O nome desta seção pode variar conforme desejado, neste caso vamos seguir tratando como [JOBTSSREST] apenas para exemplo.
Abaixo serão detalhadas as tags desta seção:
...
...
theme | Eclipse |
---|---|
linenumbers | true |
...