...
Para utilizar os endpoints com AJAX, primeiramente é necessário solicitar a autorização e obter o access_token para obter um token de acesso (access token).
Deck of Cards |
---|
|
Card |
---|
|
![](/download/attachments/347449226/Image%2003%2026%20001.png?version=1&modificationDate=1522074356000&api=v2)
|
Card |
---|
|
- Expandir o serviço oauth2.
- Acessar o endpoint GET /rest/v2/oauth2/clients/{clientId}/assertion.
![](/download/attachments/347449226/Image%2003%2026%20002.png?version=1&modificationDate=1522074811000&api=v2)
|
|
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 fluig Identity, copiar o access token para campo api_key no canto superior direito da página e acionar Explore.
Image Added
|
|
Código-fonte
...
...
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 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);
|