Usuarios Finales
Vincent Depassier · 30 de agosto de 2026
Un usuario final es una persona que se loguea en tu aplicación — un cliente, un jugador, el cliente de tu cliente. No son miembros de tu workspace de Praxsuite y nunca ven el portal.
El API Gateway les da su propio sistema de identidad: se registran, inician sesión, mantienen una sesión, y cada request que hacen lleva quiénes son. Eso es lo que le permite a la plataforma responder "mostrame mis pedidos" sin que tu backend tenga que hacerlo cumplir.
Se administran en API Gateway → End Users.

Tres tipos de identidad, y por qué están separados
Praxsuite tiene tres, y confundirlos es el error más común al empezar.
| Quiénes son | Dónde se loguean | Qué gobierna su acceso a datos |
Miembro del workspace | Alguien de tu equipo | el portal de Praxsuite | roles y permisos del workspace |
Credencial / principal | Una aplicación | en ningún lado — sostiene una key | los scopes de tabla de la credencial |
Usuario final | Un usuario de tu app | tu app, a través del gateway | los roles de gateway que tiene |
Una API key responde "qué aplicación está llamando". Un usuario final responde "qué persona". Casi siempre necesitás los dos, y llegan en el mismo request: la key identifica la app, el JWT identifica a la persona.
La cadena de dos llaves
Esta es la forma que sigue toda app, y conviene tenerla clara antes de escribir código.
tu API key (pk_live_ o sk_live_)
│
│ POST /{workspaceId}/auth/login
▼
token de acceso del usuario (JWT) + refresh token
│
│ Authorization: Bearer <JWT>
▼
consultas, endpoints, archivos, Event Bus — todo como esa personaLa key se usa para alcanzar los endpoints de auth. De ahí en adelante, el token del propio usuario es la credencial. Una app de navegador sostiene una key pk_live_ a la vista y un JWT por usuario en privado; esa combinación es lo que hace segura a un frontend público.
Los endpoints de auth son el único lugar donde tu API key toca las credenciales de un usuario. Nada más en el flujo la necesita.
De dónde sale un usuario final
Origen | Cómo aparece la cuenta |
Autoservicio | Tu app llama |
Administrador | Alguien la crea en la pestaña End Users |
Importación masiva | El botón Import, que valida el archivo antes de ejecutarlo |
Proveedor externo | El primer login exitoso por un proveedor OIDC configurado crea la cuenta |
Página alojada | Praxsuite sirve una pantalla de login lista en |
Ese último conviene saberlo antes de construir una pantalla de login: si solo necesitás que los usuarios se autentiquen, la página ya existe.
La cuenta en sí
Campo | Notas |
| El identificador. Único por workspace. |
|
|
| El subject del proveedor externo, cuando la cuenta no es local |
| Perfil |
| Tus campos personalizados, indexados por las definiciones que configures |
| Desactivar revoca todas sus sesiones de inmediato |
| Si hizo clic en el enlace de confirmación |
| Vacío hasta su primer login exitoso |
| Qué roles de gateway tiene — esto es lo que decide su acceso a datos |
Los usuarios finales son por workspace. La misma persona logueándose en dos de tus workspaces son dos cuentas, con dos conjuntos de roles, sin relación entre sí.
Ciclo de vida
registro ──▶ correo de confirmación ──▶ verificado
│ │
│ ▼
└──────────────────────────────────▶ login ──▶ token de acceso (corto)
│ + refresh token (largo)
│
refresh ◀────┘
│
logout / desactivar ──▶ sesiones revocadasTres puntos que definen cómo construís el cliente:
El token de acceso es corto y el refresh token es largo. Guardá el refresh token, usalo para pedir uno nuevo de acceso, y no hagas que el usuario vuelva a loguearse solo porque pasaron 30 minutos.
El refresh rota. Cada refresh devuelve un refresh token nuevo e invalida el anterior. Guardá solo el más reciente; reusar uno viejo falla.
La verificación no es un candado por defecto. Una cuenta puede loguearse antes de confirmar su correo —
emailVerifiedte dice el estado, y es tu app la que decide qué puede hacer un usuario sin verificar.
Qué alcanza un usuario final
Una vez autenticado, ese JWT se acepta en todos lados donde el gateway acepta una identidad:
Consultas y mutaciones PraxQL — filtradas por los row filters de sus roles
Endpoints — tus automatizaciones expuestas por HTTP
Archivos — sujetos a los mismos permisos que las filas que los referencian
El Event Bus — el hub autentica usuarios finales y a nadie más
Lo que puede ver nunca lo decide la cuenta. Lo deciden enteramente los roles de gateway asignados — que es la página siguiente.
Desactivar y eliminar
Desactivar pone isActive en falso y revoca todas las sesiones de esa cuenta. La fila queda, el historial queda, y reactivar restaura el acceso. Es lo que querés en casi todos los casos.
Eliminar es permanente y se lleva los datos relacionados. No hay vuelta atrás.
Revocar una credencial no es instantáneo — el gateway cachea la búsqueda de credenciales hasta dos minutos, así que una API key revocada puede seguir siendo aceptada un rato. La revocación de sesiones de usuario final no pasa por ese caché y aplica de inmediato.
Siguiente
Endpoints de autenticación — registro, login, refresh, reset de contraseña y OIDC, con la credencial exacta que necesita cada uno.
Roles de gateway — cómo un rol decide qué filas ve un usuario final.