Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Índice
outlinetrue
exclude.*ndice
stylenone

...

Para acessar com segurança recursos e serviços externos ao fluig à partir de processos de workflow (que podem ser encontrados aqui)  ou customizações, pode-se utilizar a funcionalidade do Serviços REST no Fluig. Essa funcionalidade consiste em um cadastro de configurações de acesso e segurança do serviço externo a ser invocado, ou seja, para cada caso de protocolo de segurança sendo OAuth 1, OAuth 2 ou Basic Authentication, serão informados e cadastrados os token's de acesso, chaves, usuário, senha, etc. 

 

Cadastro de Client para chamada a

...

serviços externos

...

Para acesso ao cadastro do Serviços RESTacessar no Fluig o menu Painel de Controle, aba WCM, opção Serviços REST. A funcionalidade provê recursos para inclusão, alteração, exclusão, consulta e teste dos client's.

...

  • Cadastro de client com autorização OAuth 1, informar os campos:

    1. Código do Serviço (Obrigatório)
    2. Domínio (Obrigatório)
    3. Tipo de Autenticação (Obrigatório)
    4. Consumer Key (Obrigatório)
    5. Consumer Secret (Obrigatório)
    6. Access Token (Obrigatório)
    7. Secret Token (Obrigatório)
    8. URL para o Access Token (Obrigatório)
    9. URL para o Request Token (Obrigatório)
    10. URL para Autorização (Obrigatório)
    11. URL GET para test da autenticação do serviço (Opcional)

     


     

     

  • Cadastro de client com autorização OAuth 2, informar os campos: 

    1. Código do Serviço (Obrigatório)
    2. Domínio (Obrigatório)
    3. Tipo de Autenticação (Obrigatório)
    4. Id Cliente (Obrigatório)
    5. Client Secret (Obrigatório)
    6. Token de Acesso (Obrigatório)
    7. Refresh token (apenas se o Serviço disponibilizar)
    8. URL refresh token (apenas se o Serviço disponibilizar)
    9. URL GET para test da autenticação do serviço (Opcional)

     


     

  • Cadastro de client com autorização Basic Authentication, informar os campos: 

    1. Código do Serviço (Obrigatório)
    2. Domínio (Obrigatório)
    3. Tipo de Autenticação (Obrigatório)
    4. Usuário (Obrigatório)
    5. Senha (Obrigatório)
    6. Confirmação da Senha (Obrigatório)
    7. URL GET para test da autenticação do serviço (Opcional)

     


     

Testando configurações de

...

autorização do Client cadastrado

...

Após o cadastro do Client, é possível testar as configurações de acesso utilizando o endpoint GET cadastrado. Basta selecionar o client e clicar no link Testar Serviço na pagina principal da funcionalidade.

 

Consumindo o

...

serviço com autenticação OAuth 1, OAuth 2, Basic Authentication

...

Chamada via javascript

  • Para consumo do serviço à partir de um processo de workflow (que podem ser encontrados aqui) e customização deve ser informado os seguintes parâmetros no javascript.

    Nota
    titleComo montar os parâmetros

    Para envio dos parâmetros no JSON, é obrigatório utilizar o nome das chaves conforme descrito abaixo.

    • serviceCode (Chave única cadastrada)
    • endopint (endpoint que será chamado)
      • Para endpoint's que recebem QueryParam e PathParam, os parâmetro devem ser incluídos diretamente no endpoint. (endpoint : '/api/public/2.0/users/create?queryParam=exemple',)
    • method (método http do serviço)
    • params (parametros em formato JSON para envio ao serviço)
  • Exemplo de chamada aos serviços com http method POST

    Bloco de código
    languagejs
    themeEclipse
    titleExemplo de chamada no Java Script da customizção
    	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); 
    	}
     
    Nota
    titleRetorno

    A chamada "clientService.invoke(JSON.stringify(data)); " retorna um objeto com os objetos abaixo:

    • serviceCode (Chave única cadastrada)
    • description (Traz o serviceCode e se teve sucesso ou não. Ex: "google:SUCCESS")
    • endopint (endpoint chamado)
    • result (string com o resultado retornado)
    • method (método http do serviço)
    • strParams (paramêtros em formtao String)
    • params (paramêtros em formato Map<String, Object> utilizados)
     

...