HanDev
← Proyectos
Auth · SSO · 2025

HanDev Identity

Servicio SSO central (auth.handev.org): emite JWTs, publica JWKS, gestiona usuarios, servicios y derechos de acceso.

  • RS256 JWT + endpoint JWKS
  • Triple refresh: retry 401 / tick 12 min / visibilitychange
  • Matriz de acceso usuario × servicio
  • GitLab OAuth para cuentas corporativas
Node 22FastifyDrizzlePostgreSQLReact 18
HanDev Identity — интерфейс проекта

Desafío

La plataforma necesitaba un hub central de autenticación: inicio de sesión único en todos los servicios, rotación de claves, refresh correcto desde pestañas en segundo plano, control de acceso por servicio y panel de administración.

Lo que hicimos

  • Backend en Fastify + Drizzle con verificación de tokens propia, bcrypt para contraseñas.
  • Forma del claim JWT: iss, sub, exp, iat, email, name, isAdmin, globalRole, services. Firmas RS256, claves rotadas, JWKS en /.well-known/jwks.json.
  • 15 min de access + 30 días de refresh como cookies HttpOnly en .handev.org con SameSite=lax.
  • Triple refresh: retry /auth/refresh en 401, tick cada 12 minutos, refresh en visibilitychange.
  • Páginas de admin: /admin/users, /admin/services, /admin/access (matriz usuario × servicio).
  • GitLab OAuth para vincular cuentas corporativas de GitLab con usuarios de Identity.

Resultado

  • Login único para 3 servicios; agregar un nuevo servicio requiere solo unas pocas inserciones SQL.
  • SSO listo para producción con manejo correcto de refresh y 401.
  • Separación clara de rol global y rol interno de servicio.

Hablemos.

Respondemos en un día hábil con una valoración inicial y el próximo hueco del equipo.

✉ info@handev.org