10 - Arduino para Laravel - Utilizador autenticado.

article featured image

Na aula anterior, 09 - Laravel - Receção e Armazenamento de Dados, abordámos a comunicação entre o Arduino e o Laravel sem a necessidade de autenticação, permitindo interações abertas. Hoje, vamos dar um passo mais à frente, implementando a autenticação de utilizador, de forma a garantir que apenas utilizadores autenticados possam realizar operações no sistema.

 

Arduino

Em relação ao código criado na última aula, temos pouco a alterar. Apenas precisamos acrescentar uma linha de código à função sendEstadoLeds():

A linha client.println("Authorization: Bearer O_TEU_TOKEN_AQUI"); foi adicionada para incluir o token de autenticação na requisição HTTP. Lembre-se de substituir O_TEU_TOKEN_AQUI pelo token real que mais à frente será criado.

 

Laravel

Para fazer esta autenticação vamos usar o Laravel Sanctum. Primeiro, precisamos instalar o Sanctum no seu projeto Laravel. Abra o terminal na pasta do seu projeto Laravel e execute:

Depois de instalar o Sanctum, publique as migrações para criar as tabelas necessárias:

Se por alguma razão as novas tabelas para migração no forem criadas, execute o seguinte comando:

E em seguida execute novamente as migrações para criar a tabela.

Abra o ficheiro app/Models/User.php e adicione o trait HasApiTokens na definição da classe. O seu ficheiro deve ficar assim:

O trait HasApiTokens fornece o método createToken(), que é usado para gerar tokens para a autenticação via API.

No ficheiro web.php, altera ou adiciona a rota:


Para terminar, certifica-te de que o guard de api está configurado para usar o Sanctum. No arquivo config/auth.php, em guards, deves ter o seguite:

 

Agora poderá gerar o token no Tinker ou diretamente no código do controlador. Siga os passos:

  • Abra o Tinker:

  • Crie o token para o utilizador (substitua 1 pelo ID do utilizador ou outro identificador):

Copie o token gerado e substitua no código do Arduino O_TEU_TOKEN_AQUI por este.

 

Espero que aproveites estas aulas para elevar os teus conhecimentos e dar asas aos teus projetos.

Até breve...

 

Post Anterior