Infraestrutura open source de autenticação e autorização baseada em OIDC e OAuth 2.1, com multi-tenancy, SSO corporativo e RBAC para apps SaaS e de IA.
dromara/Sa-Token
Framework Java de autenticação e autorização com login, permissões, SSO, OAuth2, JWT e assinatura de API para Spring e outras stacks web.
Alternativa open source a:Spring Security
Apache Shiro
- Estrelas
- 19,109
- Forks
- 2,913
- Issues abertas
- 123
- Último commit
- há 21 dias
O que é?
Sa-Token é um framework Java para lidar com autenticação e autorização em aplicações web. Ele oferece sessões de login, verificações de funções e permissões, logout forçado e gerenciamento de sessões, com aplicação de regras por anotações ou rotas. A API principal usa chamadas estáticas curtas, como StpUtil.login(userId), seguidas de StpUtil.checkLogin().
Além do login básico, o projeto inclui single sign-on em três modos de implantação (mesmo domínio, domínios diferentes e Redis compartilhado), um servidor OAuth2 compatível com os fluxos authorization code, implicit, password e client credentials, além de verificações em gateways de microsserviços para Gateway, ShenYu e Zuul. Também inclui integração com JWT, autorização por API Key, assinatura de parâmetros de API, autenticação Http Basic e Digest, e banimento de contas.
Os pacotes de integração abrangem Spring Boot 2 e 3/4, Spring WebFlux, Solon e JFinal, com Redis disponível como camada de persistência. Há demos oficiais e documentação em chinês.
Recursos principais
- 01Sessões de login com modos para vários dispositivos, dispositivo único e login mutuamente exclusivo
- 02Verificações de permissões e funções por anotações ou rotas
- 03Single sign-on em três modos, além de logout único
- 04Servidor OAuth2 compatível com quatro tipos de fluxo padrão
- 05Integração com JWT e autorização por API Key
- 06Assinatura de parâmetros de API para evitar adulteração e repetição de requisições
Casos de uso
- Adicionar login e controle de acesso baseado em funções a um backend Spring Boot
- Implementar single sign-on entre vários sistemas web internos
- Proteger APIs em um gateway de microsserviços
- Emitir tokens OAuth2 pelo seu próprio serviço Java
Início rápido
- 1
Adicione a dependência do starter do Spring Boot ao pom.xml
- 2
Faça o login de um usuário com uma única chamada estática
StpUtil.login(10001); - 3
Proteja um endpoint para que somente clientes conectados possam acessá-lo
StpUtil.checkLogin();
Antes de usar
- O README é escrito principalmente em chinês; a documentação completa está disponível em sa-token.com.
- Disponível apenas para Java; outras linguagens contam com ports comunitários separados, cada um com seu próprio status de manutenção.
Em coleções
Tópicos
Perguntas frequentes
- O que é Sa-Token?
- Framework Java de autenticação e autorização com login, permissões, SSO, OAuth2, JWT e assinatura de API para Spring e outras stacks web. Sa-Token é um framework Java para lidar com autenticação e autorização em aplicações web. Ele oferece sessões de login, verificações de funções e permissões, logout forçado e gerenciamento de sessões, com aplicação de regras por anotações ou rotas. A API principal usa chamadas estáticas curtas, como StpUtil.login(userId), seguidas de StpUtil.checkLogin().
- Sa-Token é gratuito? Qual é a licença?
- Sa-Token é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- Sa-Token ainda é mantido?
- Manutenção ativa. O último commit de Sa-Token foi em 16 de out. de 2026.
- Para que posso usar Sa-Token?
- Adicionar login e controle de acesso baseado em funções a um backend Spring Boot Implementar single sign-on entre vários sistemas web internos Proteger APIs em um gateway de microsserviços Emitir tokens OAuth2 pelo seu próprio serviço Java
- Como instalar Sa-Token?
- Adicione a dependência do starter do Spring Boot ao pom.xml Faça o login de um usuário com uma única chamada estática: StpUtil.login(10001); Proteja um endpoint para que somente clientes conectados possam acessá-lo: StpUtil.checkLogin();
- Onde consigo Sa-Token?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dromara/Sa-Token
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Servidor open source de provedor de identidade e single sign-on em Java, com suporte a CAS, SAML2, OAuth2, OpenID Connect e autenticação multifator.
Provedor de identidade leve, escrito em Rust, para Single Sign-On via OpenID Connect, OAuth 2 e PAM, com forte foco em passkeys.
Framework de autenticação e autorização para TypeScript, independente de frameworks, com plugins para recursos como 2FA e multi-tenancy.
Provedor de identidade open source para SSO, com suporte a SAML, OAuth2/OIDC, LDAP e RADIUS, hospedável por conta própria, de pequenos laboratórios a grandes clusters.
Provedor de identidade self-hosted compatível com Keycloak, escrito em Rust e distribuído como um único binário com suporte a OIDC, OAuth2, DPoP e CIBA.