# Login Social (Fase 17.6)

Cadastro/login com Google e Facebook via OAuth.

## Configuração

### Google

1. Acesse [Google Cloud Console](https://console.cloud.google.com/)
2. Crie um projeto ou selecione existente
3. APIs & Services > Credentials > Create Credentials > OAuth client ID
4. Tipo: Web application
5. Authorized JavaScript origins: `http://localhost:3000`, `https://seu-dominio.com.br`
6. Copie o Client ID

**Variáveis de ambiente:**
- Frontend: `NEXT_PUBLIC_GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com`
- API (opcional): `GOOGLE_CLIENT_ID=xxx` — para validar `aud` do token

### Facebook

1. Acesse [Facebook for Developers](https://developers.facebook.com/)
2. Meus Apps > Criar App > Consumer
3. Adicione produto "Facebook Login" > Web
4. Site URL: `http://localhost:3000` (dev) e produção
5. Copie o App ID

**Variáveis de ambiente:**
- Frontend: `NEXT_PUBLIC_FACEBOOK_APP_ID=xxx`

### Banco de dados

Execute a migration:

```bash
mysql -u user -p loteri31_premiada < db/migrations/008_cliente_auth_social.sql
```

## Fluxo

1. **Google:** Usuário clica "Continuar com Google" → popup Google → id_token enviado ao backend → validação via tokeninfo → cria/vincula conta → sessão
2. **Facebook:** Usuário clica "Continuar com Facebook" → popup FB → access_token enviado ao backend → validação via Graph API → cria/vincula conta → sessão

## API

- `POST /api/v2/auth/google` — body: `{ "id_token": "..." }`
- `POST /api/v2/auth/facebook` — body: `{ "access_token": "..." }`

## Compliance

- LGPD: dados (nome, email) vêm dos provedores; política de privacidade deve mencionar login social
- Idade: Google/Facebook podem fornecer data de nascimento; validar 18+ se necessário
- Sem credenciais: usuários OAuth não têm senha; recuperação via provedor
