Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Informações
titleAbrangê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 tlppdataTlppData, 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 passando pela com validação de acesso  pelo oAuth2:


Bloco de código
languagecpp
themeConfluence
[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 oAuth2GetParameters"}}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.

...

  • "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.

...



Informações
titleObservaçã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)