Autenticação no Laravel 5.1 (parte 2/3)
Agora iremos tratar da visualização da tela de login e verificar se o usuário está logado ou não.
Esse passo-à-passo engloba:
- Laravel Collective
- Integrando o Bootstrap
- Views
- Blade
- Envio de E-mail (recuperação de senha)
Para ver a estruturação do banco de dados e inclusão de dados de teste, veja a primeira parte do passo-à-passo:
Instalando o Laravel Collective
Basta seguir os itens que já foram tratados na instalação do Laravel 5.1:
Integrando Bootstrap no Laravel 5.1
Diferente de alguns tutoriais que sugerem o download do Bootstrap no site http://getbootstrap.com, eu prefiro utilizar o Bootstrap e JQuery a partir de CDNs.
Links das CDNs:
- Bootstrap — CSS: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css
- Bootstrap — Javascript: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js
- JQuery: https://code.jquery.com/jquery-2.1.4.min.js
Agora na visualização ficará evidente a integração.
Views
Layout básico com Blade e Bootstrap.
Começamos editando o layout “principal” da aplicação.
$ vi resources/views/app.blade.php
Crie o arquivo app.css em public/css/app.css
$ mkdir -p public/css
Criando layout dá pagina inicial
$ vi resources/views/home.blade.php
Agora criando o Controller da página inicial:
$ php artisan make:controller HomeController --plain
$ vi app/Http/Controllers/HomeController.php
Configuração da Rota
$ vi app/Http/routes.php
Para verificar se a rota está correta:
$ php artisan route:list
GET|HEAD | home | home | App\Http\Controllers\HomeController@index
Vá no navegador e acesse: http://dominio.com/home/
Views de Autenticação
Crie a o diretório Auth:
$ mkdir -p resources/views/auth
$ mkdir -p resources/views/emails
Agora vou criar as seguintes visualizações:
- auth/login.blade.php — formulário de acesso ao sistema.
- auth/register.blade.php — formulário para inclusão de novo usuário do sistema.
- auth/password.blade.php — formulário para envio de link para definir nova senha.
- auth/reset.blade.php — formulário para definir nova senha após solicitar nova senha.
- emails/password.blade.php — layout do e-mail com link para definir nova senha.
$ vi resources/views/auth/login.blade.php
Repare que utilizei o Laravel Collective com as instruções Form, para exibição de campos e também inseri o código para utilizar suporte a multi-idiomas.
$ vi resources/views/auth/register.blade.php
$ vi resources/views/auth/password.blade.php
$ vi resources/views/auth/reset.blade.php
$ vi resources/views/emails/password.blade.php
Atualizando Rotas
$ vi app/Http/routes.php
Configurando a entrega de E-mails
$ vi config/mail.php
O fundamental é configurar a linha abaixo com endereço de e-mail e o projeto.
'from' => ['address' => 'email@dominio.com', 'name' => 'Jonh Doe'],
$ vi .env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=email@gmail.com
MAIL_PASSWORD=Senha123
MAIL_ENCRYPTION=tls
Acesse a continuação…