Repolode
dromara

dromara/Sa-Token

Framework de autenticación y autorización para Java que abarca inicio de sesión, permisos, SSO, OAuth2, JWT y firma de API para Spring y otros stacks web.

Alternativa open source a:Spring SecurityApache Shiro

Estrellas
19,109
Forks
2,913
Issues abiertos
123
Último commit
hace 21 días

¿Qué es?

Sa-Token es un framework de Java para gestionar la autenticación y autorización en aplicaciones web. Ofrece sesiones de inicio de sesión, comprobaciones de roles y permisos, cierre de sesión forzado y gestión de sesiones, con controles basados en anotaciones o rutas. Su API principal se usa con llamadas estáticas breves, como StpUtil.login(userId), seguidas de StpUtil.checkLogin().

Además del inicio de sesión básico, el proyecto incluye inicio de sesión único en tres modalidades de implementación (mismo dominio, dominios distintos y Redis compartido), un servidor OAuth2 compatible con los flujos de código de autorización, implícito, contraseña y credenciales de cliente, y comprobaciones en gateways de microservicios para Gateway, ShenYu y Zuul. También incluye integración con JWT, autorización mediante API Key, firma de parámetros de API, autenticación Http Basic y Digest, y bloqueo de cuentas.

Los paquetes de integración son compatibles con Spring Boot 2 y 3/4, Spring WebFlux, Solon y JFinal, y permiten usar Redis como capa de persistencia. Hay demostraciones oficiales y documentación en chino.

Funciones clave

  • 01Sesiones de inicio de sesión con modos para varios dispositivos, un solo dispositivo y acceso mutuamente excluyente
  • 02Comprobaciones de permisos y roles mediante anotaciones o rutas
  • 03Inicio de sesión único en tres modalidades y cierre de sesión único
  • 04Servidor OAuth2 compatible con cuatro tipos de flujo estándar
  • 05Integración con JWT y autorización mediante API Key
  • 06Firma de parámetros de API para evitar manipulaciones y ataques de repetición

Casos de uso

  • Añadir inicio de sesión y control de acceso basado en roles a un backend de Spring Boot
  • Implementar inicio de sesión único en varios sistemas web internos
  • Proteger API en un gateway de microservicios
  • Emitir tokens OAuth2 desde un servicio propio de Java

Inicio rápido

  1. 1

    Añade la dependencia del starter de Spring Boot a pom.xml

  2. 2

    Inicia sesión de usuario con una sola llamada estática

    StpUtil.login(10001);
  3. 3

    Protege un endpoint para que solo puedan acceder los clientes que hayan iniciado sesión

    StpUtil.checkLogin();

Antes de usarlo

  • El README está escrito principalmente en chino; la documentación completa está disponible en sa-token.com.
  • Solo para Java; otros lenguajes cuentan con ports comunitarios independientes, cada uno con su propio estado de mantenimiento.

En colecciones

Temas

Preguntas frecuentes

¿Qué es Sa-Token?
Framework de autenticación y autorización para Java que abarca inicio de sesión, permisos, SSO, OAuth2, JWT y firma de API para Spring y otros stacks web. Sa-Token es un framework de Java para gestionar la autenticación y autorización en aplicaciones web. Ofrece sesiones de inicio de sesión, comprobaciones de roles y permisos, cierre de sesión forzado y gestión de sesiones, con controles basados en anotaciones o rutas. Su API principal se usa con llamadas estáticas breves, como StpUtil.login(userId), seguidas de StpUtil.checkLogin().
¿Sa-Token es gratuito? ¿Qué licencia tiene?
Sa-Token es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿Sa-Token sigue mantenido?
Mantenimiento activo. El último commit de Sa-Token fue el 16 oct 2026.
¿Para qué puedo usar Sa-Token?
Añadir inicio de sesión y control de acceso basado en roles a un backend de Spring Boot Implementar inicio de sesión único en varios sistemas web internos Proteger API en un gateway de microservicios Emitir tokens OAuth2 desde un servicio propio de Java
¿Cómo se instala Sa-Token?
Añade la dependencia del starter de Spring Boot a pom.xml Inicia sesión de usuario con una sola llamada estática: StpUtil.login(10001); Protege un endpoint para que solo puedan acceder los clientes que hayan iniciado sesión: StpUtil.checkLogin();
¿Dónde consigo Sa-Token?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dromara/Sa-Token

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados