This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

Como configurar a autenticação de login do Laravel em 2025 [Passos fáceis]

Updated on October 3, 2025

10 Min Read

Principais conclusões:

  • O Laravel oferece vários métodos de autenticação, incluindo autenticação baseada em palavra-passe, token e multi-fator, permitindo que os programadores escolham o que melhor se adequa às necessidades de segurança da sua aplicação.
  • A implementação da autenticação Laravel envolve a configuração de migrações de bases de dados, a configuração de rotas e controladores e a personalização de vistas para criar uma experiência de início de sessão segura e fácil de utilizar.
  • O Laravel fornece ferramentas e pacotes incorporados, como Breeze, Jetstream, Sanctum e Fortify, que simplificam o processo de autenticação e melhoram as medidas de segurança.

Imagina um cenário em que a tua aplicação exige um sistema de login fiável e seguro para proteger os dados do utilizador, restringir o acesso a utilizadores autorizados e proporcionar uma experiência de utilizador sem problemas. O Laravel, conhecido pela sua sintaxe elegante e funcionalidades abrangentes, oferece uma gama de métodos de autenticação que se adequam aos requisitos específicos do teu projeto.

Com as funcionalidades de autenticação incorporadas e os pacotes poderosos do Laravel, podes criar uma base sólida para a autenticação de utilizadores sem reinventar a roda. Eleva as tuas medidas de segurança com a proeza do alojamento Laravel gerido, garantindo uma experiência de utilizador sem problemas.

Este blogue vai explorar os conceitos-chave e as etapas de implementação para configurar a autenticação de início de sessão do Laravel e as melhores práticas para te ajudar a estabelecer um sistema de início de sessão seguro e fácil de utilizar num instante.

Diferentes abordagens para a autenticação do Laravel

Quando se trata de configurar a autenticação de login no Laravel, existem vários métodos disponíveis que atendem a diferentes requisitos de autenticação.

Laravel, sendo uma poderosa estrutura PHP, oferece aos programadores flexibilidade e opções para escolher o método de autenticação que melhor se adapta às necessidades do seu projeto.

Alojamento gerido de Laravel: Melhora a tua experiência na Web

Diz adeus às complexidades de hospedagem. A hospedagem Laravel gerenciada da Cloudways cuida dos aspectos técnicos, para que você possa se concentrar na criação de experiências web notáveis.

Vamos explorar alguns dos métodos de autenticação mais utilizados em Laravel.

Autenticação baseada em palavra-passe

A autenticação baseada em senha é um método comumente usado para autenticação de usuário, em que os usuários verificam sua identidade fornecendo um nome de usuário e uma senha. Laravel, sendo uma estrutura PHP versátil, fornece uma maneira simples de configurar a autenticação baseada em senha usando seus recursos internos.

Para configurar a autenticação baseada em palavra-passe, tens de garantir que tens o Laravel 9 instalado no teu sistema. Assim que tiveres um projeto Laravel configurado, segue estes passos:

  • Começa por configurar a tua ligação à base de dados no ficheiro .env localizado na raiz do teu projeto Laravel.
  • Define os valores apropriados para DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME e DB_PASSWORD de acordo com a configuração da sua base de dados.
  • Executa o seguinte comando para gerar o ficheiro de migração:
php artisan make:migration create_users_table --create=users
  • É possível definir os campos necessários para a tabela de usuários. Depois de definir a estrutura da tabela, executar a migração para criar a tabela de usuários
php artisan migrate
  • O modelo User do Laravel representa a tabela de usuários. Certifica-te de que o modelo User existe no diretório app/Models ou no diretório predefinido da aplicação, se estiveres a utilizar uma versão mais antiga do Laravel.
  • Se não existir, podes gerá-lo utilizando o seguinte comando
php artisan make:model Models\\User
  • abre o arquivo config/auth.php e configura os guardas e provedores de autenticação. Certifica-te de que a guarda predefinida está definida como web
'defaults' => [
  'guarda' => 'web',
  'passwords' => 'users',
],
  • Acede à página de registo visitando /register no URL da tua aplicação Laravel.
  • Visita a página de login em /login para fazer o login com as credenciais do usuário registrado. O sistema de autenticação do Laravel tratará do processo de verificação e criará uma sessão para o utilizador autenticado

Autenticação baseada em token

A autenticação baseada em token é um método popular para proteger APIs e fornecer autenticação sem estado. Em vez de depender de sessões ou cookies, os tokens são utilizados para autenticar e autorizar pedidos de API.

O Laravel 9 oferece suporte integrado para autenticação baseada em token através do pacote Laravel Sanctum.

Aqui está um guia passo a passo para implementar a autenticação baseada em token no Laravel:

compõe o require laravel/sanctum
  • Em seguida, executa a migração para criar as tabelas necessárias para o Sanctum:
php artisan migrate
  • Para ativar o Sanctum, tens de atualizar o teu ficheiro app/Http/Kernel.php. Adiciona o middleware \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful ::class ao array $middlewareGroups:
'api' => [

  \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,

  'acelerador:60,1',

  \Iluminate\Routing\Middleware\SubstituteBindings::class,

],
  • Gerar tokens de API
php artisan sanctum:tokens
  • Habilita a autenticação de token para usuários
    usa Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable

{

  utiliza HasApiTokens;

  // ...

}
  • Authentication Routes and Middleware; Para os gerar, executa o seguinte comando:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"

Isto irá publicar o ficheiro de configuração do Sanctum, a migração e as rotas. Podes encontrar as rotas no ficheiro routes/api.php.

  • Para proteger as tuas rotas API, podes aplicar-lhes o middleware Sanctum.
'auth:sanctum' => \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
  • Agora podes utilizar o middleware auth:sanctum para proteger as tuas rotas API.

Autenticação multi-fator

A autenticação multifactor (MFA) acrescenta uma camada extra de segurança à autenticação do utilizador, exigindo que os utilizadores forneçam várias formas de verificação.

Esta abordagem aumenta significativamente a segurança das contas de utilizador, combinando algo que o utilizador conhece com algo que possui ou algo que lhe é exclusivo, como uma impressão digital ou o reconhecimento facial.

O Laravel 9 oferece suporte integrado para implementar a autenticação multifator por meio do pacote Laravel Fortify.

Aqui está um guia passo a passo para configurar a autenticação multifator em Laravel:

  • Começa por instalar o pacote Laravel Fortify utilizando o Composer
compõe o require laravel/fortify
  • Em seguida, executa a migração para criar as tabelas necessárias para o Fortify:
php artisan migrate
  • Ativa a autenticação multi-fator:
'caraterísticas' => [

  // ...

  'two-fator-authentication' => true,

],
  • Certifica-te de que o modelo implementa o contrato TwoFactorAuthenticatable e importa a caraterística Laravel\Fortify\TwoFactorAuthenticatable:
utiliza Laravel\Fortify\TwoFactorAuthenticatable;

utiliza Illuminate\Contracts\Auth\MustVerifyEmail;

utiliza Illuminate\Foundation\Auth\User como Authenticatable;

utiliza Illuminate\Notifications\Notifiable;

class User extends Authenticatable implements MustVerifyEmail

{
  utiliza Notifiable, TwoFactorAuthenticatable;
  // ...

}
  • Ativa a autenticação de dois factores para os utilizadores:
'two-fator' => [
  'providers' => [
  'utilizadores' => [
  'driver' => 'eloquent',
  'model' => App\Models\User::class,
  ],
  ],
],
  • Gera visualizações e rotas pré-construídas do Laravel para autenticação multifator usando o seguinte comando:
php artisan fortify:two-fator-auth

Este comando gera as visualizações necessárias no diretório resources/views/auth/two-fator e adiciona as rotas necessárias ao seu arquivo routes/web.php.

  • Personaliza o processo de autenticação, modificando as vistas em resources/views/auth/two-fator e os controladores correspondentes.

Pré-requisitos para a autenticação personalizada do Laravel 9.X

  1. Para começar, coloca o teu servidor na Cloudways, se ainda não o tiveres.
  2. Inicia uma aplicação Laravel 9.x.

Passo 1: Configura a base de dados

  • Vai para o teu aplicativo Laravel no servidor Cloudways.
  • Clica em Iniciar base de dados.
  • Clica em Criar tabela. Dá à nova tabela o nome users e seleciona innoDB e ascii_general
  • Adiciona as seguintes colunas à tabela:
  • id (int) (Verifica o acréscimo automático A.I.)
  • nome (texto)
  • nome de utilizador (texto)
  • e-mail (texto)
  • palavra-passe (texto)
  • lembra_token (texto)
  • carimbo de data/hora (hora)
  • Clica em Guardar
  • Agora clica em New Item e adiciona o seguinte utilizador:
  • Nome: Utilizador Cloudways
  • Nome de utilizador: NewUser
  • Correio eletrónico: [email protected]
  • Palavra-passe: Start123

Clica em Guardar

Alojamento em nuvem feito à medida para diferentes estruturas PHP

De Laravel a CodeIgniter, temos tudo o que precisas em todas as estruturas PHP!

Passo 2: Configura as rotas

o teu projeto-root-diretory/routes/web.php

Aqui tens todos os pontos de chegada.

Faz três pontos finais:

  1. Lança a chamada para enviar o formulário
  2. Obtém uma chamada para mostrar o formulário de início de sessão
  3. Para terminar a sessão.
<?php
/*

|--------------------------------------------------------------------------

| Rotas de aplicação

|--------------------------------------------------------------------------

*/

// rota para mostrar o formulário de login

Route::get('login', array(
  'uses' => 'MainController@showLogin'
));

// rota para processar o formulário

Route::post('login', array(
  'uses' => 'MainController@doLogin'
));
Route::get('logout', array(
  'uses' => 'MainController@doLogout'
));
Route::get('/',
função ()
  {
  retorna view('welcome');
  });

Passo 3: Cria os controladores

Utiliza o seguinte comando para ler informações do objeto Request e cria e devolve um objeto Response.

utiliza App\Http\Controllers\UserController;

Route::get('/user/{id}', [UserController::class, 'show']);

Vou estender o MainController a partir do Base Controller e criar três funções para mostrar o login, verificar o login e fazer o logout.

<?php
espaço de nomesAppHttpControllers;
usaRedirect;
usaAuth;
usaInput;
usaIlluminateSupportFacadesValidator;
usaIlluminateFoundationBusDispatchesJobs;
usaIlluminateRoutingController como BaseController;
useIlluminateFoundationValidationValidatesRequests;
usaIlluminateFoundationAuthAccessAuthorizesRequests;
usaIlluminateFoundationAuthAccessAuthorizesResources;
usaIlluminateHtmlHtmlServiceProvider;
class MainController extends BaseController

  {
  público

  função showLogin()
  {

  // Vista do formulário

  retorna view('login');
  }

  público

  função doLogout()
  {
  Auth::logout(); // termina a sessão do utilizador
  return Redirect::to('login'); // redirecciona para o ecrã de início de sessão
  }

  público

  função doLogin()
  {

  // Criar regras para e-mail e palavra-passe

  $rules = array(
  'email' => 'required|email', // certifica-te de que o e-mail é um e-mail real
  'password' => 'required|alphaNum|min:8'

  // a palavra-passe tem de ter mais de 3 caracteres e só pode ser alfanumérica e);
  // verifica todos os campos

  $validator = Validator::make(Input::all() , $rules);

  // se o validador falhar, redirecciona de volta para o formulário

  se ($validator->fails())
  {
  return Redirect::to('login')->withErrors($validator) // envia de volta todos os erros para o formulário de login
  ->withInput(Input::except('password')); // devolve a entrada (não a password) para que possamos preencher novamente o formulário
  }
  mais
  {

  // cria os nossos dados de utilizador para a autenticação

  $userdata = array(
  'email' => Input::get('email') ,
  'password' => Input::get('password')
  );

  // tenta fazer o login

  se (Auth::attempt($userdata))
  {

  // validação bem sucedida
  // faz o que quiseres no sucesso

  }
  mais
  {

  // a validação não foi bem sucedida, envia de volta para o formulário

  devolve Redirect::to('checklogin');
  }
  }
  }
  }

Passo 4: Configura a vista

Agora vamos criar a vista, que conterá o código HTML da aplicação.

$ vim resources/views/checklogin.blade.php

A extensão .blade.php permite que o Laravel saiba que estou a utilizar o seu sistema Blade Templating.

Aqui está o código HTML para este ficheiro.

<!doctype html>
<html>
 
 A minha página de início de sessão
 
 
 
  {{ Form::open(array('url' => 'login')) }}
 

Acede

{{ $errors->first('email') }} {{ $errors->first('password') }}

{{ Form::label('email', 'Endereço de e-mail') }} {{ Form::text('email', Input::old('email'), array('placeholder' => '[email protected]')) }}

{{ Form::label('password', 'Password') }} {{ Form::password('password') }}

{{ Form::submit('Submit!') }}

{{ Form::close() }}

Agora vamos ver o aspeto da aplicação!

Este é um exemplo simples de como podes implementar a autenticação de início de sessão numa aplicação Laravel.

Outra configuração de login e registo no Laravel

Aqui tens um GIF que explica todo o processo:

Instalação de Cloudways

Migração de bases de dados

Numa aplicação com Laravel, a configuração da base de dados é feita através de dois ficheiros: env e config/database.php. No meu caso, criei uma base de dados com o nome loginuser. O Cloudways Database Manager torna todo o processo muito fácil.

Em seguida, executa o seguinte comando no terminal para criar tabelas na base de dados:

Inicia sessão no terminal SSH utilizando as credenciais principais e vai para a pasta da aplicação utilizando o comando

$ ls
aplicações
$ cd aplicações
aplicações$ ls
pjbeasusxr trxbnbphae
aplicações$ cd trxbnbphae/
trxbnbphae$ cd public_html/
php artisan migrate

Agora, quando verificares a base de dados, verás que as tabelas foram criadas com êxito.

Configurar a autenticação do Laravel

php artisan make:auth

Também pode ser utilizado como itinerário para todos os pontos finais de autenticação.

Regista-te

Acede

Utiliza o nome de utilizador para autenticação

O Laravel usa o endereço de e-mail padrão como campo de autenticação. No entanto, os utilizadores preferem usar o seu nome de utilizador em vez de emails. Para alterar o comportamento padrão, aqui está como definir um nome de usuário no controlador.

Controlador de acesso

função pública username()
{ retorna 'username';}

Capacita os teus projectos Laravel com o Laravel Managed Hosting da Cloudways!

Liberta o poder do Laravel com o Managed Hosting – Onde a inovação encontra a excelência sem esforço!

Conclusão

Configurar a autenticação de login do Laravel não precisa de ser uma tarefa assustadora. Com a abordagem correta e utilizando as funcionalidades poderosas, podes implementar um sistema de autenticação forte e seguro para a tua aplicação web.

Lembra-te de ter em conta as necessidades específicas do teu projeto e os requisitos de segurança ao escolheres o método de autenticação. E se tiveres alguma dúvida, deixa-a nos comentários e eu responderei o mais rapidamente possível.

Q) O que é a autenticação em Laravel?

A autenticação é o processo de identificação das credenciais do cliente. Nas aplicações Web, a autenticação é supervisionada por sessões que recebem os parâmetros de entrada, como o correio eletrónico ou o nome de utilizador e a palavra-passe, para prova reconhecível pelo cliente.

Q) Como obter um utilizador autenticado em Laravel?

Utiliza a fachada Auth:

$user = Auth::user();
$id = Auth::id();

Para autenticação da API, utiliza auth(‘sanctum’)->user(); ou auth(‘api’)->user();.

Q) Qual é o melhor método de autenticação em Laravel?

Para aplicações Web, utiliza o Breeze (simples) ou o Jetstream (avançado). Para APIs, o Sanctum é melhor para SPAs, enquanto o Passport suporta a autenticação OAuth2.

Q) Quais são as credenciais padrão do Laravel?

O Laravel não tem credenciais padrão, mas painéis de administração como o Laravel-Admin usam admin/admin em http://localhost/admin/. Altera sempre as predefinições por motivos de segurança.

Q) Como instalar o pacote auth no Laravel?

Corre:

compõe o require laravel/ui
php artisan ui vue --auth
php artisan migrate

Visita /login e /register para aceder à autenticação.

Q) Como posso ativar a autenticação no Laravel?

Tens de instalar o pacote laravel/ui Composer e executar php artisan ui vue –auth numa nova aplicação Laravel. Depois de migrares a tua base de dados, abre http://your-app.test/register ou qualquer outro URL atribuído à tua aplicação no teu browser.

Q) Quais são os diferentes métodos de autenticação disponíveis no Laravel?

O Laravel fornece vários métodos de autenticação, incluindo autenticação baseada em sessão, autenticação baseada em token (autenticação de API) e autenticação de socialite (integração com plataformas populares de mídia social para autenticação).

Q) Posso personalizar o processo de login e registo no Laravel?

Sim, podes personalizar o processo de início de sessão e de registo no Laravel modificando as vistas, as rotas e os controladores gerados ou criando a tua própria lógica e vistas personalizadas para satisfazer os teus requisitos específicos.

Q) Há algum pacote ou biblioteca que possa ajudar a simplificar a autenticação de login do Laravel?

Sim, pacotes populares como Laravel Sanctum, Laravel Passport, Laravel Socialite e Laravel Jetstream podem simplificar a autenticação de login do Laravel para várias necessidades.

Q) Posso implementar a funcionalidade de login social (por exemplo, login com o Google ou Facebook) no Laravel?

Sim, podes implementar facilmente a funcionalidade de login social (por exemplo, Google ou Facebook) em Laravel usando o pacote Laravel Socialite. Ele fornece uma maneira simples de autenticar com provedores OAuth e suporta plataformas populares como Google, Facebook, Twitter, GitHub e muito mais.

Q) Como autenticar o login no Laravel?

  • Instala o Laravel Breeze ou o Jetstream para obteres um scaffolding de autenticação pré-construído.
  • Executa o php artisan migrate para configurar as tabelas de utilizadores predefinidas.
  • Utiliza o método Auth::attempt() para validar as credenciais.

Q) Como é que defines a autorização no Laravel?

Gera políticas usando php artisan make:policy PolicyName. Define a lógica de autorização dentro dessas políticas. Aplica-as em controladores ou rotas usando Gate::allows() ou o método authorize().

Q) Como criar uma autenticação de administrador no Laravel?

Adiciona uma coluna is_admin à tua tabela de utilizadores. Atualiza o middleware para verificar esse status. Separa as rotas do administrador e do usuário usando grupos de rotas.

Q) Como criar uma autenticação personalizada no Laravel?

Cria formulários de login personalizados e trata os pedidos nos controladores. Define guardas personalizados em auth.php e utiliza Auth::guard() para implementar a tua lógica de autenticação.

Q) Como fazer o login usando Laravel?

Utiliza o sistema de autenticação integrado do Laravel. Envia as credenciais para a rota de login; o Laravel irá autenticar o utilizador utilizando Auth::attempt().

Q) Como escrever no ficheiro de registo do Laravel?

Utiliza o auxiliar de registo do Laravel: Log::info(‘A tua mensagem de registo’). Isto escreve mensagens personalizadas no ficheiro storage/logs/laravel.log.

Q) Como faço para entrar no administrador do Laravel?

Acessa a página de login do administrador, normalmente em /admin/login. Autentica-te com as credenciais de administrador para seres redireccionado para o painel de administração.

Q) O que é o controlador do Laravel para login?

Na configuração de autenticação padrão do Laravel, o LoginController em App\Http\Controllers\Auth gerencia a funcionalidade de login.

Share your opinion in the comment section. COMMENT NOW

Share This Article

Shahzeb Ahmed

Um criativo de dia (com uma chávena de chá) e um criativo de noite. Ahmad Kamran é um escritor de conteúdos sazonais e Executivo de Marketing Sénior na Cloudways. Podes encontrá-lo na sua secretária a escrever, a criar estratégias ou a jogar jogos. E, caso não o encontres aqui, ele estará nas montanhas ou à beira do rio.

×

Webinar: How to Get 100% Scores on Core Web Vitals

Join Joe Williams & Aleksandar Savkovic on 29th of March, 2021.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Quer experimentar a plataforma Cloudways em todo o seu esplendor?

Faça um tour guiado GRATUITO pela Cloudways e veja por si mesmo como é fácil gerenciar seu servidor e suas aplicações na principal plataforma de hospedagem em nuvem.

Iniciar mi recorrido