Para acessar com segurança recursos e serviços externos ao fluig (seja a partir de Desenvolvimento de Workflow ou desenvolvimentos sobre a plataforma), pode-se utilizar o recurso Serviços REST no fluig.
Este consiste em um cadastro de configurações de acesso e segurança do serviço externo a ser consumido, ou seja, para cada caso de protocolo de segurança sendo OAuth 1, OAuth 2 ou Basic Authentication, serão informados e cadastrados os tokens de acesso, chaves, usuário, senha, etc.
Para exibir o cadastro de Serviços REST, acesse no fluig o menu Painel de Controle, aba WCM, opção Serviços REST. O recurso contém opções para inclusão, alteração, exclusão, consulta e teste dos clients.
Dependendo do client de serviço a ser cadastrado, pode-se utilizar mecanismos de autenticação distintos, como OAuth 1, OAuth 2 ou Basic Authentication. Para cada tipo de autenticação existem informações específicas, que deverão ser preenchidas.
A escolha do protocolo a ser utilizado fica a cargo do cliente, bem como a obtenção dos tokens e demais informações necessárias para o cadastro do client. |
|
Após o cadastro do client, é possível testar as configurações de acesso utilizando a URL para teste do Serviço (Endpoint GET) cadastrado. Basta selecionar o client e clicar no botão Testar Serviço:
Para consumo do serviço a partir do desenvolvimento de workflows ou de desenvolvimento sobre a plataforma, deve-se informar os seguintes parâmetros no Javascript:
Para envio dos parâmetros no JSON, é obrigatório utilizar o nome das chaves conforme descrito abaixo.
|
Exemplo de chamada aos serviços com HTTP method POST:
try{ var clientService = fluigAPI.getAuthorizeClientService(); var data = { serviceCode : 'bamboo', endpoint : '/api/public/2.0/users/create', method : 'post',// 'delete', 'patch', 'put', 'get' params : { login : 'authorize.client', email : '[email protected]', code : 'authorize.client', firstName : 'authorize', lastName : 'client', fullName : 'authorize client', password : '123', extData :{ 'addicional-data':'123456' } } } // OU var data = { serviceCode : 'google', endpoint : '/userinfo/v2/me', method : 'get' } // OU var data = { serviceCode : 'fluig-local-basic', endpoint : '/api/public/2.0/testauthorizeclient/put', method : 'put', // 'delete', 'patch', 'post', 'get' params : { teste : 'teste' } } var vo = clientService.invoke(JSON.stringify(data)); if(vo.getResult()== null || vo.getResult().isEmpty()){ throw new Exception("Retorno está vazio"); }else{ log.info(vo.getResult()); } } catch(err) { throw new Exception(err); } |
A chamada "clientService.invoke(JSON.stringify(data)); " retorna um objeto com os objetos abaixo:
|
O recurso para consumo do serviço externo também está disponível no componente SDK através do AuthorizeClientSdkService.
Veja a seguir o exemplo para a chamado ao serviço no SDK:
private getAuthorizeClientSdkService getAuthorizeClientSdkService() throws SDKException { return new FluigAPI().getAuthorizeClientSdkService(); } |