Autenticacao
Visao geral dos 16+ metodos de autenticacao do PlazerCLI v3.1.
O PlazerCLI v3.1 suporta 16+ metodos de autenticacao organizados em 3 categorias: metodos diretos, OAuth providers e auth services. Todos podem ser combinados e geram codigo real funcional.
Metodos diretos
| Metodo | Descricao | Dependencias |
|---|---|---|
| JWT | Login tradicional com email/password + Bearer token | jsonwebtoken, bcryptjs, passport-jwt |
| Magic Link | Login sem senha via link por email | nanoid (precisa de SMTP) |
OAuth Providers (11)
| Provider | Pacote | Tag |
|---|---|---|
| passport-google-oauth20 | v1.0 | |
| GitHub | passport-github2 | v3.0 |
| Apple | apple-signin-auth | v3.0 |
| Discord | passport-discord | v3.0 |
| passport-facebook | v3.1 | |
| Microsoft | passport-azure-ad | v3.1 |
| passport-linkedin-oauth2 | v3.1 | |
| passport-twitter | v3.1 | |
| Spotify | passport-spotify | v3.1 |
Auth Services (5)
| Service | Descricao | Tag |
|---|---|---|
| Clerk | Auth completo com UI pronto, popular com Next.js | v3.0 |
| NextAuth/Auth.js | Auth nativo do Next.js com Prisma adapter | v3.0 |
| Auth0 | Auth enterprise com SSO, MFA e admin console | v3.1 |
| Supabase Auth | Auth integrado ao Supabase com social login | v3.1 |
| 2FA/TOTP | Autenticacao de dois fatores com QR code | v3.0 |
Como coexistem
Os metodos sao independentes e se complementam. Um usuario pode:
- Registrar com email/password (JWT)
- Fazer login com Google (OAuth)
- Receber um magic link por email (passwordless)
Todos geram/validam JWTs ao final do fluxo, entao os guards e middlewares de protecao de rotas funcionam independente do metodo usado para autenticar.
Tabela de rotas
| Metodo | Rota | Descricao |
|---|---|---|
| JWT | POST /api/auth/login | Login com email + password |
| JWT | POST /api/auth/register | Registrar novo usuario |
| Magic Link | POST /api/auth/magic-link/send | Enviar magic link por email |
| Magic Link | GET /api/auth/magic-link/verify | Verificar token do link |
GET /api/auth/google | Redirecionar para Google | |
GET /api/auth/google/callback | Callback apos autenticacao |
Variaveis de ambiente
# JWT
JWT_SECRET=change-me-in-production-use-a-strong-secret
JWT_EXPIRES_IN=7d
# Magic Link
MAGIC_LINK_EXPIRY_MINUTES=15
APP_URL=http://localhost:3000
# Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_CALLBACK_URL=http://localhost:3001/api/auth/google/callback