Á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
titleCaso a recuperação de senha não esteja ativa, será retornada mensagem de ERRO.

Mensagem no DATASUL





Mensagem no DATASUL FOR THF

Image RemovedImage 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.

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

Image Modified



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;:.

Documentação da manutenção de usuário: Manutençã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. 



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.

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

  • 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 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 Modified

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 Modified

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

Image Modified




05. Como modificar

o template do

a mensagem do e-mail


A modificação do template do da mensagem do e-mail, ocorre  ocorre por meio de uma chave referente ao template de e-mail parametrizado no produto. Deste modo o parâmetro keyTemplate, dever ser enviado no serviço responsável pelo envio do código de acessoum 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_TEMPLATE>REGISTRO> 

Image Modified

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

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

Image Removed

Gerenciamento de Templates

Image Added



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

A mensagem deve ser criada

Aviso

Neste momento, não existe uma interface gráfica para o gerenciamento de Templates;

  • Os Templates são utilizados especificamente para o processo de redefinição de senha.

A API para gerenciamento de templates requer autenticação, para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul

Regras para desenvolvimento do template

O template deve ser criado em formato HTML;

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

O template não pode ultrapassar 1.000 caracteres;

Expandir
titleExemplo de HTML minificado

<!doctype html><html><head><meta charset='utf-8'></head><body><h2>Caro, <password_reset_user_name></h2><p>Voc&ecirc; fez a solicita&ccedil;&atilde;o de redefini&ccedil;&atilde;o de senha.</p><p>O c&oacute;digo de acesso para redefini&ccedil;&atilde;o de senha &eacute;:<password_reset_url_guid></p><p>A nova senha deve atender aos crit&eacute;rios conforme a politica de seguran&ccedil;a.</p><p>Em caso de usu&aacute;rio bloqueado, entre em contato com suporte - 00 0000-0000 op&ccedil;&atilde;o 0</p><p><br /><strong>Atenciosamente,</strong></p><p><strong>Seguran&ccedil;a da informa&ccedil;&atilde;o Corporativa</strong></p><p>&nbsp;</p></body></html>

Expandir
titleExemplo de HTML sem minificação
Bloco de código
languagexml
themeRDark
<!doctype html>
<html>

<head>
	<meta charset='utf-8'>
</head>

<body>
	<h2>Caro, <password_reset_user_name></h2>
	<p>Você fez a solicitação de redefinição de senha.</p>
	<p>O código de acesso para redefinição de senha é: <password_reset_url_guid></p>
	<p>A nova senha deve atender aos critérios conforme a politica de segurança.</p>
	<p>Em caso de usuário bloqueado, entre em contato com suporte - 00 0000-0000 opção 0</p>
	
	<p><br /><strong>Atenciosamente,</strong></p>
	<p><strong>Segurança da informação Corporativa</strong></p>
	<p> </p>
</body>

</html>
Expandir
titleResultado do e-mail recebido

Image Removed

São disponibilizadas tags para exibição de informação do nome do usuário e URL de acesso, podemos verificar que no exemplo de HTML existem tags inválidas para o HTML que serão substituídas: Expandir
titleVisualizar Tags

<password_reset_user_name>, será alterado para o nome do usuário relacionado ao e-mail.

Image Removed

<password_reset_url_guid>, será alterado para o valor da URL (06. Como adicionar URL com o código de acesso no e-mail).

Image Removed

Caso não existam valores para a substituição as tags serão removidas antes do envio de e-mail.

Como criar um Template

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 ser autenticadade 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.


{

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

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

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

value: Campo contendo o Template HTML

JSON
Bloco de código
themeRDark
{
  "key": "fnd_access_code",


  "value": "
<!doctype html><html><head><meta charset='utf-8'></head><body><h2>Caro, <password_reset_user_name></h2><p>Voc&ecirc; fez a solicita&ccedil;&atilde;o de redefini&ccedil;&atilde;o de senha.</p><p>O c&oacute;digo de acesso para redefini&ccedil;&atilde;o de senha &eacute;:<password_reset_url_guid></p><p>A nova senha deve atender aos crit&eacute;rios conforme a politica de seguran&ccedil;a.</p><p>Em caso de usu&aacute;rio bloqueado, entre em contato com suporte - 00 0000-0000 op&ccedil;&atilde;o 0</p><p><br /><strong>Atenciosamente,</strong></p><p><strong>Seguran&ccedil;a da informa&ccedil;&atilde;o Corporativa</strong></p><p>&nbsp;</p></body></html>"
sec/exemplo.r"
}

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

Image RemovedImage Added



Como atualizar um Templateo registro de um programa.


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

A requisição precisa ser autenticadade 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 o programa responsável pela modificação da mensagem do e-mail.

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

value: Campo contendo o Template HTML

JSON
Bloco de código
themeRDark
{
  "value": "
<!doctype html><html><head><meta charset='utf-8'></head><body><h2>Caro, <password_reset_user_name></h2><p>Voc&ecirc; fez a solicita&ccedil;&atilde;o de redefini&ccedil;&atilde;o de senha.</p><p>O c&oacute;digo de acesso para redefini&ccedil;&atilde;o de senha &eacute;:<password_reset_url_guid></p><p>A nova senha deve atender aos crit&eacute;rios conforme a politica de seguran&ccedil;a.</p><p>Em caso de usu&aacute;rio bloqueado, entre em contato com suporte - 00 0000-0000 op&ccedil;&atilde;o 0</p><p><br /><strong>Atenciosamente,</strong></p><p><strong>Seguran&ccedil;a da informa&ccedil;&atilde;o Corporativa</strong></p><p>&nbsp;</p></body></html>"
}
sec/exemplo.r"
}

Informar a chave do registro na URL.Atentar para a chave do template na URL

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

Image RemovedImage Added



Como remover um Templateprograma registrado.


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

A requisição precisa ser autenticadade 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 Atentar para a chave do template registro na URL.

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

Image Modified



Como retornar um Templateprograma registrado.

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

A requisição precisa ser autenticadade 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 Atentar para a chave do template registro na URL.

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

Image RemovedImage Added



Como retornar todos Templatesos programas registrados.

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

A requisição precisa ser autenticada

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

Image Removed

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

Para adicionar uma URL com código de acesso no e-mail, deve ser adicionada uma chave referente a uma URL parametrizado no produto. Deste modo o parâmetro keyUrl, dever ser enviado no serviço responsável pelo envio do código de acesso.  

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

Image Removed
Expandir
titleCaso não exista registro para chave, será enviado apenas o código

Image Removed

Expandir
titleExemplo de e-mail com o código de acesso na URL

Image Removed

Observar o Link https://meu-endereco?guid=d4c3fad5-ef7a-838b-6c14-31d8786eb05c

A URL parametrizada no produto keyUrl=fnd_access_code, possui o valor "https://meu-endereco", deste modo o valor sendo existente será enviado o código de acesso por meio do parâmetro guid "guid=d4c3fad5-ef7a-838b-6c14-31d8786eb05c"

Gerenciamento de URLs

Aviso

Neste momento, não existe uma interface gráfica para o gerenciamento de URLs;

  • As URLs são utilizadas especificamente para o processo de redefinição de senha.
A API para gerenciamento de URLs requer autenticação, para mais informações sobre autenticação de API acesse

de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul

Como criar uma URL

, deve se atentar com os modos de autenticação para DATASUL e DATASUL FOR THF.

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

A requisição precisa ser autenticada

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

key: Chave da URL, não pode passar o limite de 20 caracteres. Exemplos: fnd_access_code, app_rh_access_code

value: Campo contendo a URL

JSON

{
  "key": "fnd_access_code",
  "value": "https://meu-endereco"
}

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

Image Removed

Como atualizar uma URL

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

A requisição precisa ser autenticada

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

value: Campo contendo a URL

JSON

{
  "value": "https://meu-endereco"
}

Atentar para a chave da URL

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

Image Removed

Como remover uma URL

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

A requisição precisa ser autenticada

Atentar para a chave da URL

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

Image Removed

Como retornar uma URL

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

A requisição precisa ser autenticada

Atentar para a chave da URL

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

Image Removed

Como retornar todas URLs

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

A requisição precisa ser autenticada

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

Image Removed

Informações
iconfalse

IMPORTANTE!

Disponível para releases 12.1.29 e superiores.

templates

Image Added