Unblock ops with marketing@ provisioning steps and start multi-tenant creatives against Supabase RLS. Co-authored-by: Cursor <cursoragent@cursor.com>
56 lines
1.3 KiB
Markdown
56 lines
1.3 KiB
Markdown
# Operador marketing@4ventures.es
|
|
|
|
La contraseña del portal legado **no** vale en Supabase Auth (`invalid_credentials`).
|
|
|
|
## Alta / reset en Studio
|
|
|
|
1. Abre https://supabase.4ventures.es (Studio) con cuenta admin de infra.
|
|
2. **Authentication → Users → Add user**
|
|
- Email: `marketing@4ventures.es`
|
|
- Password: genera una fuerte (guárdala en el gestor de la agencia)
|
|
- Auto Confirm: sí
|
|
3. En el usuario → **User Metadata** / **App Metadata** (JSON), por ejemplo:
|
|
|
|
```json
|
|
{
|
|
"role": "admin",
|
|
"company": "4Ventures",
|
|
"slug": "4ventures-hub"
|
|
}
|
|
```
|
|
|
|
App metadata (preferible para rol):
|
|
|
|
```json
|
|
{
|
|
"role": "admin",
|
|
"tenant_id": "<uuid-del-tenant-hub-si-existe>"
|
|
}
|
|
```
|
|
|
|
4. Si usáis `provision_client`, también podéis:
|
|
|
|
```sql
|
|
select public.provision_client(
|
|
'4Ventures',
|
|
'4ventures-hub',
|
|
'marketing@4ventures.es',
|
|
'CONTRASEÑA_FUERTE_AQUI',
|
|
'admin'
|
|
);
|
|
```
|
|
|
|
5. Login en https://app.4ventures.es/login con ese email/password.
|
|
|
|
## Rotación de API keys (obligatorio)
|
|
|
|
Settings → API → Regenerate `anon` y `service_role`.
|
|
Actualizar en Dokploy env del contenedor `app` (y n8n si las usa).
|
|
Nunca volver a pegar keys en PDFs ni `.env.example`.
|
|
|
|
## Verificación
|
|
|
|
- Rol `admin` → ve `/dashboard/agencia`
|
|
- Rol `client` → redirigido fuera de agencia
|
|
- Chat/simulate solo con sesión
|