Índice
Índice |
---|
outline | true |
---|
exclude | .*ndice |
---|
style | none |
---|
|
Descrição
...
O exemplo disponibilizado nesta página demonstra como solicitar o token de acesso OAuth e realizar uma chamada às APIs à API do fluig Identity via JavaScript (AJAX).
Autorização
...
Para utilizar os endpoints da API com AJAX, primeiramente é necessário solicitar a autorização e obter o access_token. para obter um token de acesso (access token). Os passos abaixo usam o Swagger como referência para explanar esse procedimento.
Deck of Cards |
---|
Deck of Cards |
---|
|
|
Card |
---|
|
Image Removed
Image Added
|
Card |
---|
|
- Expandir o serviço oauth2.
- Acessar o endpoint GET /rest/v2/oauth2/clients/{clientId}/assertion.

|
|
Informações |
---|
03. Depois, é preciso obter o token passando como parâmetro o Client Assertion:
Card |
---|
|
- 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.
Image Added
|
|
Bloco de código |
---|
oauth2 > POST - 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).
Image Added
|
Card |
---|
|
- Para utilizar todos os endpoints da API do Identity, copiar o access token para campo api_key no canto superior direito da página e acionar Explore.
Image Added
|
|
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 04. Após obter o token em Response Body > "access_token", copie o código e cole no campo superior da página "api_key" e pressione "Explore". Desta forma você poderá utilizar todos os endpoints da API do Identity.
...
...
...
obtido a partir da autorização na API deve ser enviado no header de todas as requisições. |
Bloco de código |
---|
language | js |
---|
linenumbers | true |
---|
|
// Exemplo de código para obter as informações de uma empresa por ajaxAJAX.
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> |