Repolode
dromara

dromara/Sa-Token

Java-фреймворк для аутентификации и авторизации: вход, права доступа, SSO, OAuth2, JWT и подпись API в Spring и других веб-стеках.

Open source альтернатива:Spring SecurityApache Shiro

Звёзды
19,111
Форки
2,911
Открытые issues
123
Последний коммит
21 день назад

Что это?

Sa-Token — Java-фреймворк для аутентификации и авторизации в веб-приложениях. Он предоставляет сессии входа, проверку ролей и прав доступа, принудительный выход из системы и управление сессиями. Применять проверки можно с помощью аннотаций или правил маршрутизации. Основной API — короткий статический вызов, например StpUtil.login(userId), за которым следует StpUtil.checkLogin().

Помимо базового входа, проект включает SSO в трёх вариантах развёртывания (в одном домене, между доменами и через разные Redis), OAuth2-сервер с поддержкой потоков authorization code, implicit, password и client credentials, а также проверки на шлюзах микросервисов Gateway, ShenYu и Zuul. Также доступны интеграция с JWT, авторизация по API Key, подпись параметров API, аутентификация Http Basic и Digest, а также блокировка учётных записей.

Пакеты интеграции охватывают Spring Boot 2 и 3/4, Spring WebFlux, Solon и JFinal; в качестве слоя хранения можно использовать Redis. Официальные демонстрационные проекты и документация доступны на китайском языке.

Ключевые возможности

  • 01Сессии входа с режимами для нескольких устройств, одного устройства и взаимоисключающего входа
  • 02Проверка прав доступа и ролей с помощью аннотаций или правил маршрутизации
  • 03SSO в трёх режимах, а также единый выход из системы
  • 04OAuth2-сервер с поддержкой четырёх стандартных типов грантов
  • 05Интеграция с JWT и авторизация по API Key
  • 06Подпись параметров API для защиты от подмены и повторного воспроизведения запросов

Сценарии использования

  • Добавление входа и ролевого контроля доступа в бэкенд на Spring Boot
  • Настройка единого входа для нескольких внутренних веб-систем
  • Защита API на шлюзе микросервисов
  • Выдача токенов OAuth2 из собственного Java-сервиса

Быстрый старт

  1. 1

    Добавьте зависимость Spring Boot starter в pom.xml

  2. 2

    Выполните вход пользователя одним статическим вызовом

    StpUtil.login(10001);
  3. 3

    Защитите endpoint, чтобы к нему могли обращаться только вошедшие в систему клиенты

    StpUtil.checkLogin();

Что важно знать

  • README написан преимущественно на китайском языке, а полная документация размещена на sa-token.com.
  • Поддерживается только Java; для других языков существуют отдельные порты сообщества со своим статусом сопровождения.

В подборках

Темы

Частые вопросы

Что такое Sa-Token?
Java-фреймворк для аутентификации и авторизации: вход, права доступа, SSO, OAuth2, JWT и подпись API в Spring и других веб-стеках. Sa-Token — Java-фреймворк для аутентификации и авторизации в веб-приложениях. Он предоставляет сессии входа, проверку ролей и прав доступа, принудительный выход из системы и управление сессиями. Применять проверки можно с помощью аннотаций или правил маршрутизации. Основной API — короткий статический вызов, например StpUtil.login(userId), за которым следует StpUtil.checkLogin().
Sa-Token можно использовать бесплатно? Какая у него лицензия?
Sa-Token распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
Sa-Token всё ещё поддерживается?
Активно поддерживается. Последний коммит в Sa-Token — 16 окт. 2026 г..
Для чего можно использовать Sa-Token?
Добавление входа и ролевого контроля доступа в бэкенд на Spring Boot Настройка единого входа для нескольких внутренних веб-систем Защита API на шлюзе микросервисов Выдача токенов OAuth2 из собственного Java-сервиса
Как установить Sa-Token?
Добавьте зависимость Spring Boot starter в pom.xml Выполните вход пользователя одним статическим вызовом: StpUtil.login(10001); Защитите endpoint, чтобы к нему могли обращаться только вошедшие в систему клиенты: StpUtil.checkLogin();
Где скачать Sa-Token?
Исходный код и инструкции по установке — на GitHub: https://github.com/dromara/Sa-Token

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Открытая инфраструктура аутентификации и авторизации на базе OIDC и OAuth 2.1, с поддержкой мультитенантности, корпоративного SSO и RBAC для SaaS- и AI-приложений.

14,9 тыс.+27 за неделю1,2 тыс.TypeScriptMPL-2.0Активно поддерживаетсяОбновлён 14 часов назад

Сервер единого входа и поставщик идентификационных данных с открытым исходным кодом на Java, поддерживающий CAS, SAML2, OAuth2, OpenID Connect и многофакторную аутентификацию.

11,4 тыс.+1 за неделю4 тыс.JavaApache-2.0Обновлён 4 часа назад

Open-source провайдер идентификации для SSO с поддержкой SAML, OAuth2/OIDC, LDAP и RADIUS; можно развернуть самостоятельно — от домашней лаборатории до крупных кластеров.

26,3 тыс.+79 за неделю2,1 тыс.PythonOtherАктивно поддерживаетсяОбновлён 2 часа назад