Árvore de páginas

Versões comparadas

Chave

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

Conteúdo

  1. Visão Geral

  2. Configuração
  3. Como enviar token de acesso para o usuário

  4. Como redefinir a senha

01. Visão geral

.......

Índice
minLevel2


01. Objetivo

O serviço permite a redefinição de senha de um usuário do produto Datasul, por meio de API, deste modo permitindo que aplicativos consigam solicitar a redefinição de senha. 



02. Configuração

DATASUL

...


A recuperação de senha

...

deve estar ativa no produto.


DATASUL: É habilitada por meio da

...

propriedade enable.recover.password

...

. Para mais informações sobre a propriedade, acesse Documentação "datasul_framework.properties". 

DATASUL FOR THF: É habilitada nas Propriedades do Sistema. Para mais informações sobre a propriedade, acesse Segurança

Expandir
titleCaso a recuperação de senha não esteja ativa, será retornada mensagem de

...

ERRO.

Mensagem no DATASUL

Image Modified





Mensagem no DATASUL FOR

...

recuperação de senha deve estar ativa nas Propriedades do Sistema, mais informações Segurança.

Caso a recuperação de senha não esteja ativa será retornada mensagem de erro ao tentar utilizar o serviço.

Image Removed

THF

Image Added



Verifique se os parâmetros de e-mail estão configurados e funcionais. O processo de redefinição de senha faz o uso do método de envio definido no produto.



DATASUL: Para mais informações sobre os parâmetros, acesse Parâmetros Email Foundation (BTB962ZB)

DATASUL FOR THF: Para mais informações sobre os parâmetros, acesse CFG - E-mail.

Expandir
titleCaso ocorra erro no processo de envio de e-mail, será retornada mensagem de erro.

A mensagem não possui detalhes, por não receber detalhes de erro da api de envio de e-mail.

Image Added



Verifique se os parâmetros gerais estão configurados e funcionais. O processo de redefinição de senha faz o uso das configurações na montagem da URL e TOKEN no DATASUL.

DATASUL: Para mais informações sobre a configuração, acesse Janela Parâmetros Gerais Módulo Básico – Pasta ServidorParâmetros Gerais Módulo Básico (BTB946AA).

Expandir
titleCaso não exista configuração será gerado o erro.

Image Added



Verifique se a URL do RFI está configurada. O processo de redefinição de senha faz o uso da configuração na montagem da URL e TOKEN no DATASUL FOR THF.

DATASUL FOR THF: Para mais informações sobre a configuração, acesse Gerais.

Expandir
titleCaso não exista configuração será gerado o erro.

Image Added




03. Como enviar código 

de acesso para o usuário


Para realizar o envio do

...

código de acesso, utilize o serviço passwordReset existente no contexto totvs-login, seguindo as premissas: 

O método de requisição é do tipo POST 

Não possui autenticação na requisição.

Deve ser enviado o parâmetro email, contendo o e-mail do usuário do produto, que está solicitando o

...

código de acesso.

O usuário relacionado ao e-mail:

  • Deve ser do tipo INTERNO.
  • O e-mail não pode estar associado a mais de um usuário válido.
  • Não pode estar bloqueado;
  • Não pode estar inativo;
  • Expandir
    titleCaso não atenda os requisitos acima será retornado erro

...

  • Erros sem mensagens

...

  • Erro de sintaxe inválida

...

  • , terá como

...

  • retorno status 400 Bad Request

...

  • Exemplo: o parâmetro email errado (emaill) ou sem valor.

    Erros com mensagens

...

  • : são retornadas no formato JSON

...

  • .

    Image Modified

...

Documentação da manutenção de usuárioManutenção de Usuário (SEC000AA)

http://<SERVIDOR>:<PORTA>/totvs-login/passwordReset?email=<E-MAIL_DO_USUÁRIO>

Image Modified



Ao executar o serviço com sucesso, o usuário receberá um e-mail contendo o código de acesso

...

para redefinição de senha. 


Image Added


O código de acesso deve ser encaminhado para o serviço de redefinição de senha

...

. Para mais informações leia o conteúdo 04. Como redefinir a senha.

Informações

Código de acesso:

  • É anulado após o seu uso na redefinição de senha;
  • É válido por 10 minutos, após este tempo será considerado como inválido;

A mensagem do e-mail pode ser modificada.

  • Para mais informações leia o conteúdo: 05. Como modificar a mensagem do e-mail.




04. Como redefinir a senha


Para redefinir a senha, utilize o serviço passwordReset existente no contexto totvs-login, seguindo as premissas: 

O método de requisição é do tipo POST 

Não possui autenticação na requisição.

A autorização para redefinição de senha será por meio do código de acesso.

Expandir
titleDeve ser enviado um JSON no corpo da requisição

guid: É o código de acesso, que o usuário recebeu por e-mail;

newPassword: É a nova senha do usuário;

confirmNewPassword: É a confirmação da senha do usuário;

Exemplo:

Image Added

Expandir
titleCaso não atenda os requisitos acima será retornado erro

Erros sem mensagens: Erro de sintaxe inválida, terá como retorno status 400 Bad RequestExemplo: Corpo da requisição errada ou sem valor.

Erros com mensagens: são retornadas no formato JSON.

Image Added

http://<SERVIDOR>:<PORTA>/totvs-login/passwordReset

Image Added




05. Como modificar a mensagem do e-mail


A modificação da mensagem do e-mail ocorre por meio de um programa registrado, que será responsável pela criação da mensagem do e-mail. A chave do registro do programa deve ser enviada no parâmetro keyTemplate.  





http://<SERVIDOR>:<PORTA>/totvs-login/passwordReset?email=<E-MAIL_DO_USUÁRIO>&keyTemplate=<CHAVE_DO_REGISTRO> 

Image Added

Expandir
titleCaso não exista registro para chave, será utilizado o e-mail padrão

Image Added

Expandir
titleExemplo de e-mail modificado, recebido pelo usuário

Image Added



Desenvolvendo o programa para modificar a mensagem do e-mail.

A mensagem deve ser criada em formato HTML;

A mensagem não pode utilizar a tag <script>;

Criar programa progress para retornar a mensagem do e-mail, neste programa deve existir a procedure pi-html, tendo como parâmetro de entrada JsonObject e parâmetro de saída CHARACTER.

Expandir
titlePrograma de exemplo

O parâmetro de entrada é do tipo JsonObject, será enviado com a estrutura e valores abaixo:

Bloco de código
themeRDark
{
  "guid": "Código de acesso do usuário",
  "cod_usuario": "Código do usuário",
  "nom_usuario": "Nome do usuário"
  "url": "Servidor e porta configurados em Parâmetros Gerais, Para mais informações leia o conteúdo 02. Configuração",
}

O parâmetro de saída é do tipo CHARACTER, onde deve ser retornada a mensagem HTML.


Bloco de código
themeRDark
titleAssinatura da Procedure
USING Progress.Json.ObjectModel.*.

{include/i-prgvrs.i EXEMPLO 2.00.00.001 }

PROCEDURE pi-html:
    DEFINE INPUT   PARAMETER jsonIn    AS JsonObject NO-UNDO.
    DEFINE OUTPUT  PARAMETER htmlOut   AS CHARACTER  NO-UNDO.
	
	//Implementar Lógica para criar o retorno HTML    
END PROCEDURE.

Programa de exemplo:

View file
nameexemplo.zip
height250

Expandir
titleResultado do e-mail

Image Added



Como registrar um programa.

O método de requisição é do tipo POST 

A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para DATASUL e DATASUL FOR THF.

Não será realizada validação do programa ao registrá-lo. 

Caso aconteça algum erro em tempo de execução com o programa registrado, será lançado erro no arquivo de log do servidor de aplicação Progress e será retornada mensagem padrão.


Expandir
titleDeve ser enviado um JSON no corpo da requisição

key: Não pode passar o limite de 20 caracteres. Exemplos: fnd_access_code, app_rh_access_code.

value: Informar o programa responsável pela modificação da mensagem do e-mail.

Bloco de código
themeRDark
{
  "key": "fnd_access_code",
  "value": "sec/exemplo.r"
}

http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates

Image Added



Como atualizar o registro de um programa.


O método de requisição é do tipo PUT

A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para DATASUL e DATASUL FOR THF.

Expandir
titleDeve ser enviado um JSON no corpo da requisição

value: Informar o programa responsável pela modificação da mensagem do e-mail.

Bloco de código
themeRDark
{
  "value": "sec/exemplo.r"
}

Informar a chave do registro na URL.

http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates/fnd_access_code

Image Added



Como remover um programa registrado.


O método de requisição é do tipo DELETE

A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para Antiga Arquitetura (JBOSS) e Nova arquitetura DTS4THF(TOMCAT).

Informar a chave do registro na URL.

http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates/fnd_access_code

Image Added



Como retornar um programa registrado.

O método de requisição é do tipo GET

A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para DATASUL e DATASUL FOR THF.

Informar a chave do registro na URL.

http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates/fnd_access_code

Image Added



Como retornar todos os programas registrados.

O método de requisição é do tipo GET

A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para DATASUL e DATASUL FOR THF.

http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates

Image Added

Image Removed

...