Repolode
dromara

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 SecurityApache 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. 1

    Adicione a dependência do starter do Spring Boot ao pom.xml

  2. 2

    Faça o login de um usuário com uma única chamada estática

    StpUtil.login(10001);
  3. 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