# Login Social

## O que foi implementado

- Login social server-side para `Google`, `Facebook` e `Apple`.
- Callback por área:
  - `/cliente/auth-social`
  - `/parceiro/auth-social`
- Sessão final criada no WordPress com `wp_set_auth_cookie`.
- Vínculo da conta social no `usermeta`.
- Auto vínculo por e-mail existente.
- Auto cadastro apenas para cliente, e somente se habilitado por configuração.

## Variáveis de ambiente

```env
TIIX_SOCIAL_AUTH_ENABLED=1
TIIX_SOCIAL_AUTH_AUTO_LINK_BY_EMAIL=1
TIIX_SOCIAL_AUTH_AUTO_CREATE_CLIENTE=0
```

```env
TIIX_GOOGLE_AUTH_ENABLED=1
TIIX_GOOGLE_AUTH_CLIENT_ID=...
TIIX_GOOGLE_AUTH_CLIENT_SECRET=...
```

```env
TIIX_FACEBOOK_AUTH_ENABLED=1
TIIX_FACEBOOK_AUTH_CLIENT_ID=...
TIIX_FACEBOOK_AUTH_CLIENT_SECRET=...
```

```env
TIIX_APPLE_AUTH_ENABLED=1
TIIX_APPLE_AUTH_CLIENT_ID=...
TIIX_APPLE_AUTH_TEAM_ID=...
TIIX_APPLE_AUTH_KEY_ID=...
TIIX_APPLE_AUTH_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
```

## Redirect URIs

- `https://SEU-DOMINIO/cliente/auth-social?provider=google&action=callback`
- `https://SEU-DOMINIO/parceiro/auth-social?provider=google&action=callback`
- `https://SEU-DOMINIO/cliente/auth-social?provider=facebook&action=callback`
- `https://SEU-DOMINIO/parceiro/auth-social?provider=facebook&action=callback`
- `https://SEU-DOMINIO/cliente/auth-social?provider=apple&action=callback`
- `https://SEU-DOMINIO/parceiro/auth-social?provider=apple&action=callback`

## Regras importantes

- `Google`: normalmente retorna `email`, `name` e `picture`.
- `Facebook`: o e-mail só vem se o app tiver essa permissão aprovada e o usuário tiver e-mail disponível.
- `Apple`: o nome costuma vir apenas no primeiro consentimento.
- `Parceiro`: por segurança, o fluxo social não cria conta nova sozinho.
- `Cliente`: pode criar conta nova se `TIIX_SOCIAL_AUTH_AUTO_CREATE_CLIENTE=1`.
