Á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 código de acesso para o usuário

  4. Como redefinir a senha

  5. Como modificar template do e-mail
  6. Como adicionar URL com código de acesso no e-mail

Í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. 



01. Visão geral

.......

....

.....

,,,,

02. Configuração


A recuperação de senha deve estar ativa no produto.


DATASUL: É habilitada por meio da propriedade enable.recover.password, para . Para mais informações sobre a propriedade, acesse Documentação "datasul_framework.properties"

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

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

Mensagem no DATASUL

Image Modified

Image Removed

warning





Mensagem no DATASUL FOR THF

Image Added



Verifique se os parâmetros de e-mail estão configurados e funcionais

, o

. 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
status 400 Bad Request.

Image Removed

.

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

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

Para mais informações sobre os parâmetros, acesse E-mail.




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

. ao utilizar o serviço
  • , terá como retorno status 400 Bad Request

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

    Erros com mensagens

, são
  • : são retornadas no formato JSON

;
  • .

    Image Modified

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

Exemplo

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

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

Abaixo temos o exemplo de um e-mail padrão contendo o código de acesso:

Image Removed

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;
O template de

A mensagem do e-mail pode ser

modificado

modificada.

  • Para mais informações leia o conteúdo: 05. Como modificar
o template do e-mail.O código de acesso pode ser enviado juntamente com uma URL.Para mais informações leia o conteúdo: 06. Como adicionar URL com o código de acesso no
  • 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
JSON no corpo da requisição
 com as informações:

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 Modified

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

Erros sem mensagens

Erro de sintaxe inválida

. ao utilizar o serviço

, terá como

retorno 400

retorno status 400 Bad Request.

 Exemplo: Corpo da requisição errada ou sem valor.

Erros com mensagens

,

: são retornadas no formato JSON

;

.

Image Modified

Exemplo:

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

Image Modified




05. Como modificar

o template do e-mail

dadsadsa

06. Como adicionar URL com o código de acesso no e-mail

dadsad

Informações
iconfalse

IMPORTANTE!

Disponível para releases 12.1.29 e superiores.

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