Árvore de páginas

Versões comparadas

Chave

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

Índice

Índice
outlinetrue
exclude.*ndice
stylenone


Descrição

...

O exemplo disponibilizado nesta página demonstra como solicitar o token de acesso OAuth e realizar uma chamada à API do fluig Identity via JavaScript (AJAX).


Autorização

...

Para utilizar os endpoints da API com AJAX, primeiramente é necessário solicitar autorização para obter um token de acesso (access token). Os passsos passos abaixo usam o Swagger como referência para explanar esse procedimento.

Deck of Cards
historyfalse
idauth
Card
defaulttrue
labelPasso 1


Informações

Caso seja utilizado o ambiente de homologação, a URL da API será https://[contexto].customerfi.com/rest/swagger-ui/index.html.


Card
labelPasso 2

  • Expandir o serviço oauth2.
  • Acessar o endpoint GET /rest/v2/oauth2/clients/{clientId}/assertion.
Informações

Para obter o clientId, acessar o menu Configuração → aba Segurança → REST API v2 → ID do Cliente.


Card
labelPasso 3


  • Ao acionar Try it out!, será gerado o Client Assertion no Responde Body.
  • O valor do Client Assertion deve ser copiado para utilização no próximo passo.


Card
labelPasso 4


  • Acessar o endpoint POST /rest/v2/oauth2/auth.
  • Preencher o valor do Client Assertion obtido no passo anterior no campo assertion.
  • Acionar Try it out! para obter o token de acesso (access token).


Card
labelPasso 5


  • Para utilizar todos os endpoints da API do fluig Identity, copiar o access token para campo api_key no canto superior direito da página e acionar Explore.

Exemplo

...

O exemplo de código-fonte a seguir demonstra como realizar o procedimento de autorização e obtenção do access token via AJAX, bem como a chamada de um endpoint para recuperar os dados de uma empresa (contexto) através da API do fluig Identity.

Nota

O access_token obtido a partir da autorização na API deve ser enviado no header de todas as requisições.

Bloco de código
languagejs
linenumberstrue
// Exemplo de código para obter as informações de uma empresa por AJAX.

var clientId = '<CLIENT_ID>'; // Substituir '<CLIENT_ID>' pelo clientId da empresa
var companyId ='<COMPANY_ID>'; // Substituir '<COMPANY_ID>' pelo companyId da empresa
var domainUrl = 'https://<CONTEXT>.fluigidentity.com/'; /* Substituir '<CONTEXT>' pelo contexto da empresa */
var apiUrl = domainUrl + 'rest/v2/';

// Get client assertion
function getClientAssertion(clientId) {
  $.ajax({
    url:apiUrl + 'oauth2/clients/' + clientId + '/assertion',
    crossDomain:true // se necessário cross domain
  })
  .done(function(data){
    getAccessToken(data);
  })
  .fail(function(error){
    console.log(error);
  });
}

// Grant a new refresh token
function getAccessToken(assertion) {
  var data = {
    'grant_type':'urn:ietf:params:oauth:grant-type:jwt-bearer',
    'assertion':assertion
  };
  $.ajax({
    url:apiUrl + 'oauth2/auth',
    crossDomain:true, // se necessário cross domain
    data:data,
    type:'POST'
  })
  .done(function(data){
    getCompany(data.access_token,companyId)
  })
  .fail(function(error){
    console.log(error);
  });
}

// Get a company
function getCompany(authorization, companyId) {
  $.ajax({
    url:apiUrl + 'companies/' + companyId,
    crossDomain:true, // se necessário cross domain
    headers:{
      'Authorization':authorization
     }
  })
  .done(function(data){
    console.log(data);
  })
  .fail(function(error){
    console.log(error);
  });
}

getClientAssertion(clientId);




HTML
<!-- Hotjar Tracking Code for http://tdn.totvs.com/display/fb -->
<script>
    (function(h,o,t,j,a,r){
        h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
        h._hjSettings={hjid:1280165,hjsv:6};
        a=o.getElementsByTagName('head')[0];
        r=o.createElement('script');r.async=1;
        r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
        a.appendChild(r);
    })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script>