Iniciar processo via formulário publico

Bom tarde.

Mediante a necessidade de iniciar um processo a partir de uma página pública fluig, fiz da seguinte forma:

Construi uma página pública, e ao usuário executar uma ação de click, é consumido o serviço simpleStartProcess do ECMWorkflowEngineService.

Tudo ocorre tranquilo até então…

Porém o que me incomoda é que no XML que faz a requisição é necessário passar um usuário e senha:

image

Isso não me parece legal, apesar de até o momento através do inspecionar elementos não consegui acessar o xml que possui as credenciais.

Alguém já passou ou algo parecido? ou até mesmo iniciou a solicitação de outra forma(via REST por exemplo)?

1 curtida

Também tenho essa dúvida.

Eu utilizei vários serviços SOAP em Widgets de páginas privadas. Não deixava o login e senha direto na string do xml e sim num dataset (assim ficava mais fácil trocar as credenciais), mas como eu tinha que buscar o valor do dataset se inspecionar a rede consegue pegar as credenciais. Bem inseguro.

Pensei em criar um Dataset que consome o SOAP, deixando tudo em backend, e no front só chamar esse dataset. Ao menos não há perigo de exibir as credenciais.

1 curtida

Você pode usar as APIs V2 do Fluig e autenticar com oAuth.

https://api.fluig.com/latest/process-management/swagger-ui/#/Processes/start

Você só vai precisar criar um usuário customer com Key e Secret.

2 curtidas

@Willian_Laynes olhando aqui, na parte da configuração do oAuth, tenho que criar um novo registro(ou reaproveitar um existente) em OAuth Provider e depois criar um registro em OAuth Application para conseguir construir um serviço com no caso OAuth 1, é isso?

Na parte de adicionar um novo registro em OAuth Application, a Consumer Key e Consumer Key são campos em que eu mesmo defino qualquer chave para usar depois?

Se já existir um você pode aproveitar Consumer Key e Secret você que define. Depois ele vai gerar os Tokens para você.

Só verifica se o provider que existe, está usando o método correto.

image

Exemplo de application:

Depois só selecionar e clicar aqui em cima:

image

1 curtida

Ja fiz algo parecido com isso que você quer, o problema é que se o usuario acessar a pagina publica mesmo logado no fluig o fluig se perde.
Fiz ate um dataset que valida usuario e senha no identity.
Vou procurar e posto o fonte aqui.

1 curtida

@Willian_Laynes tem algum exemplo de como é feito o consumo da API REST na widget?

Consegui configurar o serviço e funcionou de boa. Estou tendo só um pouco de dificuldade no consumo.

Consigo sim, já te passo

1 curtida

Opa… @daniel_fmartins

Fiz um POC aqui para você testar, ele esta em uma pagina web normal. Pode rodar no BROWSER.
Para você rodar em uma WIDGET, não esqueça de fazer a importação dos arquivos no “aplication.info”.
Você tem que alterar algumas variáveis do script (TOKENS e KEYS)

Segue os arquivos.

REST_EXTERNO_START.zip (10,6,KB)

Eu fiz meio rápido aqui, se tiver algum problema me avisa.

1 curtida

Desconfia de algo?

rest.html (5,7,KB)

Ele ta puxando a URL correta? Eu vi que deixei pra pegar da maquina

Vou fazer uma widget aqui de POC mesmo e te passo, mais fácil.

assim deu erro de CORS, por conta da origin ser “null”.

Sim eu não consegui testar tive que fazer um atendimento aqui, deixa eu passar para uma widget publica aqui…acho que te ajuda melhor.

1 curtida

Se eu te contar que a URL que estávamos testando estava errada. Alterei para a correta e gerei uma WIDGET.

WIDGET_PLUBICA_REST_START.zip (42,1,KB)

Vamos ver se agora vai.

1 curtida

URL correta é “{url do fluig}/process-management/api/v2/processes/{seu processo}/start”

@Willian_Laynes funcionou bem.

Porém ao tentar startar o processo pela página publica não estando logado é gerado um Internal Server Error.

image

Tentando verificar aqui o que possa ser.

Não sei se tem relação com o comentário do @Daniel_Sales .

Estranho porque o teste que fiz foi em uma pagina publica.

As suas keys e tokens de autenticação estão ok? Você alterou no arquivo?

2 curtidas

Este tópico foi fechado automaticamente 16 horas depois da úlima resposta. Novas respostas não são mais permitidas.