Árvore de páginas

Abrangência

Disponível a partir da versão 19.3.1 e superiores.

Para utilização do protocolo oAuth2 TlppCore é necessário promover alterações no arquivo de configuração do AppServer(appserver.ini).
Foi criada chave a TlppData, ela deve ser incluída na sessão do HttpServer que irá passar a validar o acesso às API’s através deste protocolo. 

Abaixo veremos um exemplo onde foi configurada uma porta específica para responder às requisições com validação de acesso  pelo oAuth2:


[HTTPSERVER]
Enable=1
log=0
Servers=HTTPS_OAUTH2_47500_TLPPCORE

[HTTPS_OAUTH2_47500_TLPPCORE]
hostname=localhost
port=47500
locations=HTTPS_ROOT_OAUTH2_47500
ContentTypes=CT_HTPP
SslCertificate=_certs\cloud_cert_with_no_chain.pem
SslCertificateKey=_certs\cloud_key.pem
Charset=UTF-8
TlppData={"Authorization":{"scheme":"oAuth2","onAuth":"", "onAuthNoCheckUri":"u_noCheckUri", "onAuthparams":"u_paramsProvider"}}

[HTTPS_ROOT_OAUTH2_47500]
Path=/rest
RootPath=root/web
DefaultPage=index.html
AllowMethods=GET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS
ThreadPool=THREAD_POOL_OAUTH2_47500

[THREAD_POOL_OAUTH2_47500]
Environment=TLPPCORE
MinThreads=1
MaxThreads=2
MinFreeThreads=1
GrowthFactor=1
InactiveTimeout=30000
AcceptTimeout=10000  


A chave TlppData é onde devem ser configuradas as funções necessárias para o correto funcionamento do oAuth2 TlppCore.
Ela possui o formato Json, portanto sua sintaxe deve seguir o modelo de {“key”:”value”} caso contrário, os valores não serão lidos e será apontado erro de configuração no momento da requisição ou na validação dos tokens.

Abaixo veremos o detalhamento de cada uma das chaves e seus respectivos valores:

  • "Authorization" -> Indica que nesta porta há um protocolo de autorização. A partir do momento que esta key foi declarada o server exigirá as demais chaves.
  • "scheme" -> Deve ser declarado o protocolo de autorização no caso : "oAuth2". Este parâmetro é obrigatório, não pode ser deixado em branco/null e caso seja colocado um valor diferente de "oAuth2" ou "oAuth", será apresentado erro na utilização do endpoint.
  • "onAuth" -> Inserir o nome da função que irá realizar a checagem do token assim que chegar a requisição a uma API. Caso seu valor seja declarada : "" (em branco) será utilizada a função padrão TlppCore para validação do access token .
  • "onAuthNoCheckUri" -> Declarar a função responsável por incluir a lista com os endpoints que não devem ser validados pelo oAuth2. Caso seja declarada : "" (em branco) todos os endpoints exigirão o access token e serão validados.
  • "onAuthparams" -> Declarar a função responsável por enviar os parâmetros privados do cliente para composição e validação dos tokens(access/refresh). O valor desta chave é obrigatório, não pode ser deixado em branco/null.



Observação

É Obrigatório  o uso de uma porta HTTPS com protocolo SSL por conta da segurança no tráfego de informações, evitando inclusive ataques do tipo: man-in-the-midle(MITM)