Quando configuramos no serviços do fluig uma api de terceiros com autenticação oauth 2.0 la colocamos as informações referente a obtenção de um novo token de acesso e segundo o suporte da totvs o fluig não faz o refresh token, mesmo tendo as informações la imputadas. O mesmo me disse que tenho que atualizar manualmente estas informações.
Alguem sabe se existe um metodo para faze o refresh token?
Ainda não tive essa necessidade. Mas já vi um amigo comentado que fez da seguinte forma.
Criou um dataset sincronizado onde executava a api de tempo em tempo, para obter o novo token.
De posse desse novo tokem ele usava o serviço SOAP e alterava o token antigo do dataset por esse novo token que foi obtido pelo dataset sincronizado.
Tive uma situação de tentar utilizar um WS com OAuth com grant_type Password e o Fluig não tem essa opção. No caso logava numa central de autenticação (tipo o Identity) que era por OAuth (e aí utilizava password) e a aplicação em si autenticava via JWT.
Acabei fazendo tudo na mão, deixando o serviço no Fluig só pra indicar a URL. Aí no clientService.invoke
coloquei os cabeçalhos com o token JWT gerado.
Minha única utilização dessa parte de OAuth do Fluig foi pra deixar aplicações externas o acessarem, mas serviço dele indo pra outros ainda não fiz.
Opa acionei o suporte da totvs pois a documentação fal que é obrigatorio preencher esses dados se o token expirade tempos em tempo logo o lfuig tem que fazer. Aguardando eles responderem como contorno cadastrei o servido que estou utiliando com as autenticações e criei um servoço so para o refresh dai se otoken tiver expirado chamo o serviço de refrash pego o tokne gravo no via banco no lugar do outro token. So falta finalizar a gravação do token pois o metodo que usava na 1.7 não ta indo. Ou to fazendo besteira ou parou de funcionar kkkkkk.
//Armazenar esse token no fluig
var dataSource = "/jdbc/AppDS";
var ic = new javax.naming.InitialContext();
var ds = ic.lookup(dataSource);
QUERY = "UPDATE fdn_authorizeclientdata SET ACCESS_TOKEN='"+ json.access_token +"' WHERE AUTHORIZECLIENTDATA_ID=25;";
log.info("Query "+QUERY);
try {
var conn = ds.getConnection();
var stmt = conn.createStatement();
var rs = stmt.executeUpdate(QUERY);
dataset.addRow(["Sucesso Update"]);
} catch (e) {
log.error("ERRO==============> " + e.message);
dataset.addRow([e.message]);
return dataset;
} finally {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
return dataset;
Olá Bruno,
Estou tentando gerar um JWT num dataset Fluig. Consegui fazer o encode em Base64 do header e paylod, porém estou com dificuldade de criptografar a parte de Signature com RSA Sha256 (RS256). Você gerou o JWT no Fluig, sabe indicar alguma forma de fazer isso?
Grato
@Augusto_Bem-Haja , no caso eu não gerei manualmente um JWT pro Fluig. Eu efetuo a autenticação no serviço externo e ele me retorna um JWT, e aí eu o uso nas chamadas posteriores. Isso só porque nas opções do Fluig não encontrei nada que suprisse os parâmetros que eu tinha que passar pros serviços (eles não seguiam OAUTH).
Sua intenção é criar um JWT na mão pra validar o acesso de alguém ao seu Fluig?
Talvez o Fluig já tenha uma biblioteca de JWT instalada (muito provável). Aí só precisaria descobrir qual é pra conseguir usá-la direto no dataset. Mas nunca tentei algo assim em java.
Olá @Bruno_Gasparetto eu estou gerando este JWT para poder solicitar um token Bearer da Docusign. Eu preciso gerar este JWT e enviar numa requisição REST ao serviço deles, pra obter o retorno do Bearer.
Gerando o JWT via JWT.io on line, eu envio a requisição via postman e obtenho o bearer deles corretamente. Como preciso usar os serviços da Docusign no Fluig, então precisava gerar ester token, sempre q fosse fazer uma requisição a um serviço Docusign.
Como boa prática, a docusign recomenda que deixemos um tempo de expiração não muito longo no JWT, então preciso deixar dinâmico.
Nunca corri atrás disso em Java, mas vi esse gist que pareceu promissor.
Se não me engano o @daniel.cabral ja fez integração com a docusign.
mas pelo fluig padrão não vai. Se adocusign aceitar gerar um beartoken passando usuario e senha da para fazer tranq1uilo no fluig
Na trave, foi a D4Sign na época. Tive alguns problemas com token, no final apelei e pedia token a cada requisição.