Como utilizar as APIs do fluig Identity?
Para utilizar a API do Identity, você pode seguir como referência o Swagger.
oauth2 > GET /rest/v2/oauth2/clients/{clientId}/assertion
Para obter o clientId, acesse como administrador o menu Configuração → aba Segurança → REST API v2 → ID do Cliente
A resposta tem informação útil sobre como testar, para desenvolver uma aplicação JAVA por exemplo pode-se usar o material em http://tdn.totvs.com/display/public/fluig/Cliente+REST+Fluig+Identity
— Rafael Vanat 05 de Jul de 2017Primeiro você tem que ter o clientId e com ele vc consegue o clientAssertion.
$.ajax({
url: this.apiUrl + 'oauth2/clients/' + clientId + '/assertion',
crossDomain: true // se necessário cross domain
})
.done(function(data) {
console.log('Sucess');
that.getAccessToken(data);
})
.fail(function(error) {
console.log('Error', error);
});
Depois gero o token de acesso para realizar a requisição.
var data = {
'grant_type': 'urn:ietf:params:oauth:grant-type:jwt-bearer',
'assertion': assertion
};
$.ajax({
url: this.apiUrl + 'oauth2/auth',
crossDomain: true, // se necessário cross domain
data: data,
type: 'POST'
})
.done(function(data) {
console.log('Sucess');
that.accessToken = data.access_token;
that.getGroups();
})
.fail(function(error) {
console.log('Error');
console.log(error);
});
Com o acesstoken vc consome qualquer serviço da API.
$.ajax({
url: this.apiUrl + 'companies/' + this.companyId + '/users/' + this.getUserIdentity() + "/groups",
crossDomain: true, // se necessário cross domain
headers: {
'Authorization': this.accessToken
}
})
.done(function(data) {
console.log('Sucess Groups');
that.addUserToComunity(data);
})
.fail(function(error) {
console.log('Error');
console.log(error);
});