Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 3 Próxima »

Neste tutorial será apresentada uma solução para o gerenciamento de tokens no Cronapp, incluindo a validação desses tokens após o logout do usuário.

Pré-requisitos

Antes de começar a seguir os passos do tutorial é preciso ter certeza de que se tem um ambiente minimamente preparado para reproduzir o exemplo. Abaixo estão os requisitos principais.

  1. Projeto do tipo mobile criado. Caso haja dúvidas de como criar esse tipo de projeto acesse a documentação Criar projeto;
  2. Saber utilizar as funcionalidades do diagrama, como criar classes e gerar persistência. Caso haja dúvidas acesse a documentação Diagrama;
  3. Saber criar um bloco de programação. Caso haja dúvidas acesse a documentação Bloco de programação.

Passos

Configurando o diagrama

Vamos dar início ao nosso tutorial criando uma nova classe no diagrama de dados, que será utilizada para armazenar dados do token e sua validade, ou seja, se o token é válido ou não. Para isso, expandimos o menu do tópico Diagrama de Dados e clicamos duas vezes no arquivo app. Em seguida, criamos a classe Session que contém dois atributos, id (Texto) e valid (Lógico), conforme a imagem abaixo. Após criar a classe, geramos a camada de persistência


Figura 1 - Classe Session no diagrama de dados

Criando os blocos de programação

Para o gerenciamento dos tokens, precisamos criar algumas funções de blocos de programação servidor que posteriormente serão adicionados em alguns eventos do projeto.

De início, criamos um bloco de programação servidor e nomeamos a primeira função como "criarIdParaToken" (Figura 2). Essa primeira função será utilizada para adicionar um ID único ao token do usuário logado, para isso utilizamos os blocos Cria Identificador Universal e Definir Variável de Token da Requisição.

Em seguida, adicionamos o bloco Inserir e configuramos os campos no retorno da função, esse bloco é responsável por salvar o ID do token na nossa tabela Session do banco de dados, juntamente com a informação de validade do token. A função configurada deve estar como a imagem abaixo.


Figura 2 - Função para criar um ID único para o token do usuário


A segunda função, nomeada como "tornarTokenInvalido" (Figura 3), será executada após o logout do usuário e terá como objetivo tornar inválido o token do usuário, mostrando que ele não está mais logado na aplicação. Para esta função, utilizamos os blocos Obter Variável do Token da Requisição e Atualizar. Para configurar bloco Atualizar, clique no ícone da engrenagem e, na janela de configuração, faça as alterações conforme a Figura 3.1.


Figura 3 - Função para tornar inválido o token do usuário


Figura 3.1 - Configurando o bloco Atualizar


A terceira e última função, nomeada como "checarValidadeToken", irá verificar a validade de um token nas requisições feitas, se o token não for válido será lançada uma exceção. Inicialmente, utilizamos o bloco Se faça..

Este bloco será responsável por checar validade do token nas requisições.

Este bloco precisará retornar os Permissionáveis do papel ao final das validações necessárias.

Essa função irá verificar as requisições. "Olha eu tenho um token aqui no meu cabeçalho, pega esse id e checa na tabela pra ver se esse id do token de um usuário são válidos." Se não forem válidos será lançado uma exceção.


Figura 4 - Função para verificar a validade um token


Figura 4.1 - Configurando bloco Abrir Consulta para Session


Figura 4.2 - Configurando bloco Abrir Consulta para RoleSecurable

Adicionando eventos e ações

Após criar os blocos de programação, precisamos adicioná-los a alguns eventos e ações do projeto. Para abrir essa funcionalidade, clique em Projetos Eventos e Ações no menu do sistema. Como mostra a imagem abaixo, a janela possuem alguns campos, os campos de Eventos permitem executar uma ação antes ou após um evento específico. Já os de Ações, substituem uma ação padrão do Cronapp por uma nova.

O primeiro evento que iremos vincular um bloco de programação é o Depois de fazer login, esse evento é executado após algum usuário logar na aplicação,

Depois de fazer logout Executa após algum usuário sair da aplicação.

Os campos de ações permitem substituir ações padrões dos projetos Cronapp por uma regra definida em um bloco de programação. Ao desvincular o bloco do campo, a ação padrão da fonte de dados volta a assumir o controle.

Obter Autorização do Papel Obtém os permissionáveis vinculados ao papel (grupos/roles). 


Executando/Testando o projeto

.





Nesta página

  • Sem rótulos