Ir al contenido

Credenciales

Cada ruta acepta exactamente un tipo de token bearer.

Plano Credencial Qué puede hacer
Propietario (control) Sesión hyc0_… de POST /v0/signup o /v0/login. Verificador de contraseña Argon2id; 24 horas; no renovable. Todo: proyectos, claves, snapshots, restore, creación de buckets, despliegue y borrado de funciones, secretos — más todo lo que puede una clave de proyecto.
Proyecto (datos) Clave de proyecto viva hyp1_<32 hex>_<64 hex> de POST /v0/projects/{id}/keys. /v2/* a través del proxy, objetos de storage y lista de buckets, publicar y escuchar realtime, invocar funciones.
  • La clave completa se devuelve una vez, al crearla. El servidor guarda un verificador, nunca la clave, y no puede volver a mostrarla.
  • Una clave se comprueba en cada petición contra su verificador y su estado de revocación. No hay caché ni periodo de gracia: una clave revocada falla en la siguiente petición en cualquier conexión, y sus streams realtime abiertos se cierran en ese instante.
  • Una clave pertenece a un proyecto y nunca puede nombrar otro (404). Presentada en una ruta solo de propietario es 401: una credencial válida en el plano equivocado.
  • Los recibos registran el id de la clave como actor, nunca el secreto.
  • Revocar es idempotente y las claves nunca se borran, así que la lista es el historial completo.

No hay primitiva de rotación: emite una clave nueva, mueve tu aplicación a ella y revoca la antigua. El Cloud no gestiona ninguna ventana de solapamiento.

POST /v0/signup recibe un correo y una contraseña (8–1024 bytes). En un despliegue con invitación — el alojado lo es — exige además un invite_code que te entregan los operadores. Un código ausente o desconocido responde 403 authorization_denied, con el mismo cuerpo en ambos casos y antes de que el servidor mire el correo, así que la respuesta nunca revela si una dirección ya tiene cuenta. Los códigos se comparan en tiempo constante y nunca se guardan en claro, se registran ni se reciben. No hay flujo de invitación autoservicio: solicita acceso y un operador te da un código.

Un token de sesión es un bearer del plano de propietario. Vive 24 horas (expires_at viene en la respuesta), se guarda hasheado en el servidor y se rechaza en todas las rutas salvo signup y login una vez expirado. El Studio lo guarda solo en el sessionStorage de la pestaña. No hay OAuth, enlace mágico, renovación ni revocación en el servidor en esta versión — ver qué no es.

Ni en funciones ni en tickets. Una aplicación guarda su propia clave y es responsable de ella. Una función que necesite Native debe recibir una clave de quien la invoca y llamar al proxy por sí misma.