Tokens únicos com CodeIgniter

Tokens são muito úteis em processo de autenticação e até mesmo para usar como nome de arquivos, pra evitar arquivos duplicados ou sobrepostos.

Nesse tutorial veremos como criar uma codificação que gere tokens únicos, usando banco de dados.

No tutorial ‘Criando um CRUD com CodeIgniter’ foi utilizado um model chamado ‘MY_Model’ com as bases das operações do CRUD, que eram herdadas pelo ‘Contatos_model’, mas nesse tutorial vamos usar apenas um model chamado ‘Tokens_model’.

Passo 1 – Montando o ambiente

Aplicação

Faça o download e instalação do CodeIgniter. Aqui no portal existem tutoriais ensinando esse processo:

Banco de dados

Crie um banco de dados para esse tutorial e nele crie uma tabela chamada tokens, conforme instrução SQL abaixo:

Passo 2 – Configurações

Vamos configurar as libraries e helpers que serão carregadas automaticamente, as rotas e a conexão com o banco de dados.

Libraries, Helpers e Model

Abra o arquivo ‘application/config/autoload.php’ e atualize as informações conforme o código abaixo:

É carregada a library ‘database’ e o helper ‘url’.

Rotas

As rotas serão os acionadores dos métodos no controller, abra o arquivo ‘application/config/routes.php’ e faça as configurações conforme código abaixo:

  • default_controller: chama o controller principal da aplicação, definido como ‘Base’
  • generate-token: chama o método GenerateToken do controller Base
Conexão com Banco de Dados

Atualize as configurações de conexão com o banco de dados conforme as configurações do seu ambiente de desenvolvimento. Abra o arquivo ‘application/config/database.php’ e atualize as configurações.

Veja no código abaixo um exemplo:

Passo 3 – Criando as views

Para esse tutorial teremos duas views, uma para a home e outra para uma lista de tokens.

Home

Crie um arquivo chamado ‘home.php’ no diretório ‘application/views’ e adicione a ele o conteúdo abaixo:

Temos uma view super simples, com um link para gerar um novo token, e logo abaixo a lista com os tokens já gerados.

Tokens

Crie um arquivo chamado ‘tokens.php’ no diretório ‘application/views’ e adicione a ele o conteúdo abaixo:

Temos aqui outra view bem simples, onde é exibido o token gerado, um link para gerar um novo token, a lista de tokens gerados.

Passo 4 – Criando o model

Vamos criar um model chamado ‘Tokens_model.php’, dentro do diretório ‘application/models’, e colocar o conteúdo abaixo no arquivo:

Esse model tem as operações necessárias para criar os tokens e retornar a lista de tokens para exibição.

Passo 5 – Criando o controller

Para fechar vamos criar o controller que iráconter a codificação das operações. Crie um arquivo chamado ‘Base.php’ no diretório ‘application/controllers’ e coloque o código a seguir nele:

Com a finalização do controller, a aplicação está pronta e já vai gerar tokens únicos e gravá-los no banco de dados.

Bons Estudos!

button-codigo-fonteDemo Online