Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 9 Próxima »

Abrangência

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


A declaração de valor desta key da tlppdata é obrigatório, caso declarado ""(em branco) ou null, ocorrerá  erro tanto no momento da requisição dos tokens quanto na validação de acesso a API.

Essa função é utilizada tanto no momento de gerar os tokens quanto na validação de acesso pois deve conter os dados principais de acesso dos clientes(usuário e senha), bem como os dados para compor o secret dos tokens.
Aqui também é possível definir o tempo de validade(expires in), tanto do access token, quanto do refresh_token.

Pelo fato de o TlppCore ser um framework independente do produto, optamos por não guardar essas informações em nossa camada, portanto esse EntryPoint  é de responsabilidade do utilizados.

O TlppCore disponibiliza um parâmetro inicial que é  passado por referência,  nele se encontram os valores dos parâmetros que foram passados na URI de solicitação de token para que a função possa fazer o trabalho necessário de armazenamento e validação das informações:

ParâmetroTipoDescriçãoObrigatório
jParamsJsonObjectObjeto do tipo Json que contem os parâmetros enviados na URI de solicitação do access tokenX


Não é esperado pelo core nenhum tipo de retorno pelo fato do parâmetro inicial jParams ter sido passado por referência.


Exemplo de aplicação:

Função de Parametrização
#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'

User 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 deve ser string de data: "2021/12/31"
    "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
  aEval(aProps,{|x,y| iIf(!(jParams:hasProperty(x)), jParams[x] := jCliente[x],'')})
  
  //Obs*: No processo acima estão sendo apenas adicionados propriedades que não existem, mas caso seja necessário sempre substituir, é só mudar a lógica acima.

Return

Informação importante

No momento da validação dos tokens, sejam eles de acesso ou refresh, o sistema utiliza esta função, porém sem o envio do parâmetro inicial (jParams). Favor se atentar a esta observação no desenvolvimento da rotina. 




  • Sem rótulos