Âncora | ||||
---|---|---|---|---|
|
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 identificar ilustrar a correta configuração do arquivo TSS REST SERVER a ser realizada no arquivo appserver.ini do TSS (exclusivamente) para a utilização do .
O TSS REST SERVER , que vem a ser é o substituto para o REST 2.0 do Framework Protheus.Para que o sistema TSS possibilite uma maior configuração e segurança de acesso às suas APIs REST, foi implementado o TSS REST SERVER, com uma camada de autenticação para as APIs REST do como configuração de REST para (e somente) o TSS.
Para que 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.Esta configuração será obrigatória para TSS com releases igual ou superiores a , 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 serão detalhadas as configurações do , 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
...
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 neste documento, esta é a única seção obrigada em manter o nome TSSREST_CONFIG.
Abaixo serão detalhadas as tags desta seção:
...
0=Desabilitado ou 1=Habilitado
...
1
...
Nome das seções de servers com configuração de porta e URL. Por ela é possível definir um ou mais servidores, sendo assim, pode-se informar uma lista. Como exemplo será adotado o nome TSSREST_SERVER.
...
Nome livre
...
Exemplos: ASCII, UTF-8, ANSI e ISO-8859-1
...
UTF-8
...
https://tdn.totvs.com/display/tec/Logs
...
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
...
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 | ||||
---|---|---|---|---|
|
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)
...
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/
...
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:
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
[JOBTSSREST]
main=TSSREST_START
environment=SPED |
...
Com o appserver.ini devidamente configurado ao inicializar o appserver.exe do TSS, 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) serviçoservidor(ses) de REST do TSS REST SERVER, conforme prints que seguemimagens a seguir:
Subida do TSS REST SERVER com sucesso:
2. Indicativo da(s) URL(s) do(s) TSS REST SERVER criadomapeado(s):
3. Cada URL poderá ser informado como endereço de URL em um browser/navegador, para verificação da disponibilidade do serviço de TSS REST SERVER: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
Em ambos os casos o servidor TSS REST SERVER está em funcionamento.
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 | ||||
---|---|---|---|---|
|