Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagecpp
titleFunção de Parametrização
#include "tlpp-core.th"

#define cliente_secret_ 'secret'
#define cliente_access_expires 3600
#define cliente_refresh_expires Date()+1
#define cliente_id 'clienteId'
#define cliente_oAuth2_user 'nomedoUsuario'
#define cliente_oAuth2_password 'passworddoUsuario'

Function u_paramsProvider(jParams)

local jCliente := {;
    "client_id" : client_id , ; // string
    "client_secret" : cliente_secret,; // string
    "username" : cliente_oAuth2_user ,; // string
    "password" : cliente_oAuth2_password  ,; // string
    "grant_type" : "password",; //string este conteúdo deve ser fixo por enquanto
    "access_expires" : 3600,; //integer tempo em milissegundos
    "refresh_expires" : Date() + 1,;// ou para o caso de data fixa, o formato de data: "mm/dd/yyyy" -> "12/31/2021"
    "JWTRoutes" : {}; //parametro opcional momentâneamente.
    }

  //obtendo as propriedades da variável JSon criadas acima para poder popular o objeto nativo jParams que é passado por referencia.  
  local aProps := jCliente:GetNames()


  //Adicionando as propriedades não existentes no objeto nativo jParams
  //Aqui deve-se ficar atento para que todas as propriedades tenham os seus valores carregados, mesmo quando não estejam presentes no objeto recebido(jParams).
  aEval(aProps,{|x,y| iIf(!(jParams:hasProperty(x)), jParams[x] := jCliente[x],'')})
  
 Return .T.

...

  • O retorno incorreto dos parâmetros vindos deste entry point invalidarão a requisição
  • O usuário , senha e o grant_type enviados na requisição e validação do access/refresh token devem estar contidos nos parâmetros declarados acima.
  • Por ser um entry point, as informações declaradas neste fonte são de total responsabilidade do desenvolvedor, o TlppCore não guarda nenhum dos dados enviados utilizando-os somente para criação e validação dos tokens, porém o formato do objeto JSON bem como os nomes de suas chaves devem ser respeitadas seguindo -se o padrão padrões descritos nos quadros acima.

...