Á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


Informações

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


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

Configuração no 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 mensagem de ERRO.

Mensagem no DATASUL

Image Modified





Mensagem no DATASUL FOR THF

Image Removed

info

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.



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

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

warning
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

    ;:

    .

    Image Modified

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. 

Exemplo de um e-mail padrão com código de acesso.


Image Modified


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

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

ExpandirtitleClique aqui para visualizar o exemplo

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_TEMPLATE>REGISTRO> 

Image Modified

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

.

Image Removed

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

Gerenciamento de Templates

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 dos templates requer autenticação, para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul

Image Added



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

A mensagem deve ser criada

Regras para desenvolvimento do template

Expandir
titleVisualizar regras
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;

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:

Exemplo de HTML minificado

<!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>
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
titleExemplo de HTML sem minificação
Bloco de código
languagexml
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 recebido

Image Removed

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

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

Como atualizar um Template
Como remover um Template

Como retornar um Template

Como retornar todos Templates

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

dadsad

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 

Aviso
  • Neste momento, não possui uma interface gráfica para o gerenciamento de URLs;
  • AAPI requer autenticação, para mais informações sobre autenticação de api
    • Como retornar uma URL:
    • Como retornar todas as URLs:
    • Como criar uma URL:
    • Como atualizar uma URL:
    • Como remover um URL:
    Informações
    iconfalse

    IMPORTANTE!

    Disponível para releases 12.1.29 e superiores.

    , 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