Este é o backend de uma aplicação full stack desenvolvida com Laravel para gerenciar autenticação via Google OAuth e cadastro de usuários.
- PHP (Laravel 12.x)
- MySQL
- Docker
- Laravel Socialite (para autenticação com Google OAuth)
- Filas do Laravel (envio de e-mail assíncrono)
- Docker e Docker Compose instalados
- Git instalado
# Clone o repositório
$ git clone https://github.com/seuusuario/google-auth-users.git
$ cd google-auth-users
- Copie o arquivo
.env.example
para.env
- Configure as variáveis do Google OAuth:
GOOGLE_CLIENT_ID=seu_client_id GOOGLE_CLIENT_SECRET=seu_client_secret GOOGLE_REDIRECT=http://localhost:8000/api/google/callback
- Configure as variáveis MAIL:
MAIL_MAILER=smtp MAIL_HOST=seu_host MAIL_PORT=port MAIL_USERNAME=seu_usuario MAIL_PASSWORD=sua_senha MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS="seu_email" MAIL_FROM_NAME="${APP_NAME}"
- As configurações do banco já estão prontas no
.env.example
- Configure as credenciais do serviço de e-mail, se necessário
# Construir e subir os containers
$ docker-compose up --build
# Instalar dependências
$ docker exec laravel_app composer install
# Gerar chave da aplicação
$ docker exec laravel_app php artisan key:generate
# Rodar migrações e seeds
$ docker exec laravel_app php artisan migrate --seed
$ docker exec laravel_app php artisan test
- Autenticação com Google OAuth usando Laravel Socialite
- Cadastro de usuários com nome, CPF e data de nascimento
- Envio de e-mail assíncrono na conclusão do cadastro
- Filtros otimizados por nome e CPF com índices no banco
- Estrutura em camadas Service/Repository
- Suporte a filas para processos assíncronos
POST /api/google/login
→ Retorna a URL de autenticação do GoogleGET /api/google/callback
→ Processa a autenticação e armazena o tokenPOST /api/users
→ Cadastra novos usuáriosGET /api/users
→ Lista usuários com filtros de nome e CPF
- Backend: http://localhost:8000
O supervisord.conf
já está configurado para rodar o queue:work
automaticamente no container.
Feito por Luiz Henrique 🚀