Skip to content

3. Passo a passo para configurar a aplicação no Laravel

Filipe Tristão edited this page Nov 3, 2018 · 1 revision
  1. Iniciar um novo projeto Laravel
composer create-project --prefer-dist laravel/laravel minicurso-api
  1. Colocar o .htaccess apropriado
  2. Renomear para apenas .htaccess
  3. Configurar o .env com o ambiente da máquina
  4. Mover o model de usuário para Models/
  5. Deletar a pasta Auth em Http/Controllers
  6. Remover rotas e arquivos inutilizados no RouteProvider
  7. Declarar arquivo de rotas customizado
  8. No arquivo customizado declarar rota index, com a versão da API
  9. Limpar a pasta resource
  10. Baixar pasta database no github e substituir pela do seu projeto
  11. Importar banco e registros
php artisan db:migrate
php artisan db:seed
  1. Adicionar a dependencia "tymon/jwt-auth": "1.0.*" no require do composer.json e rodar o comando:
composer update tymon/jwt-auth
  1. Publicar os arquivos de configuração do plugin
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
  1. Rodar o comando para gerar o secret do JWT
php artisan jwt:secret
  1. Colocar driver jwt como default nas configurações em auth.php
  2. Implementar a interface JWTSubject no Model de usuário, juntamente com os métodos getJWTIdentifier e getJWTCustomClaims
<?php
class User extends Authenticatable implements JWTSubject {
    
    /**
     * Get the identifier that will be stored in the subject claim of the JWT.
     *
     * @return mixed
     */
    public function getJWTIdentifier() {
        return $this->getKey(); // Eloquent Model method
    }

    /**
     * Return a key value array, containing any custom claims to be added to the JWT.
     *
     * @return array
     */
    public function getJWTCustomClaims() {
        return [];
    }
}
  1. Criar o controller para Login
php artisan make:controller LoginController
  1. Criar a rota para login
  2. Criar o controller para Books
php artisan make:controller BookController
  1. Criar as rotas para Books

A partir desse passo a API está configurada e pronta para ser utilizada.

Clone this wiki locally