Á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

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

info


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.

Expandir
warning
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

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

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.   

Gerenciamento de Templates é detalhado mais abaixo.

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.  





Expandir
titleClique aqui para visualizar o exemplo
URL: 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 Modified

.
  • Image Removed
  • Expandir
    titleExemplo de e-mail modificado, recebido pelo usuário
    Aviso
  • Neste momento, não possui uma interface gráfica para o gerenciamento de Templates;
    • Os Templates são utilizados especificamente para o processo de redefinição de senha.
  • AAPI requer autenticação, para mais informações sobre autenticação de api acesse a página Desenvolvimento de APIs para o produto Datasul

    Gerenciamento de Templates

    Image Added



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

    A mensagem deve ser criada

    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;

    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.

    <!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 minificadoPrograma de exemplo

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

    xml
    Bloco de código
    Bloco de código
    language
    themeRDark
    <!DOCTYPE{
     html><html><head><meta charset="utf-8"></head><body><h2>Caro, password_reset_user_name</h2><p>Você fez a solicitaçãoguid": "Código de redefiniçãoacesso 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
    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

    Bloco de código
    languagexml
    themeRDark

    Expandir
    titleResultado do e-mail
    recebido

    Image Removed

    São disponibilizadas chaves para exibição de informação no e-mail, podemos verificar que no exemplo de HTML existem os valores:

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