Repolode
dromara

dromara/Sa-Token

SpringなどのWebスタック向けに、ログイン、権限管理、SSO、OAuth2、JWT、API署名を提供するJava認証・認可フレームワーク。

代替できる製品:Spring SecurityApache Shiro

スター
19,111
フォーク
2,911
未解決の Issue
123
最終コミット
22 日前

これは何?

Sa-Tokenは、Webアプリケーションの認証・認可を扱うJavaフレームワークです。ログインセッション、ロールと権限のチェック、強制ログアウト、セッション管理を提供し、アノテーションまたはルートベースでアクセス制御を適用できます。StpUtil.login(userId)のような短い静的メソッドを呼び出し、その後にStpUtil.checkLogin()を実行するのが基本的な使い方です。

基本的なログイン機能に加え、3つの導入方式(同一ドメイン、クロスドメイン、クロスRedis)に対応したシングルサインオン、authorization code、implicit、password、client credentialsの各grantに対応するOAuth2サーバー、Gateway、ShenYu、Zuul向けのマイクロサービスゲートウェイチェックを備えています。また、JWT連携、API Key認可、APIパラメーター署名、Http BasicおよびDigest認証、アカウントの利用禁止機能も含まれています。

連携パッケージはSpring Boot 2および3/4、Spring WebFlux、Solon、JFinalに対応し、永続化レイヤーとしてRedisを利用できます。公式デモとドキュメントは中国語で提供されています。

主な機能

  • 01複数端末、単一端末、相互排他のログインモードに対応したログインセッション
  • 02アノテーションおよびルートベースの権限・ロールチェック
  • 033つの方式に対応したシングルサインオンとシングルログアウト
  • 044種類の標準grantに対応するOAuth2サーバー
  • 05JWT連携とAPI Key認可
  • 06改ざんやリプレイ攻撃を防ぐAPIパラメーター署名

ユースケース

  • Spring Bootバックエンドへのログイン機能とロールベースのアクセス制御の追加
  • 複数の社内Webシステム間でのシングルサインオンの構築
  • マイクロサービスゲートウェイでのAPI保護
  • 独自のJavaサービスからのOAuth2トークン発行

クイックスタート

  1. 1

    pom.xml に Spring Boot starter の依存関係を追加する

  2. 2

    静的メソッドを1回呼び出してユーザーをログインさせる

    StpUtil.login(10001);
  3. 3

    ログイン済みのクライアントだけがアクセスできるようにエンドポイントを保護する

    StpUtil.checkLogin();

使う前に知っておきたいこと

  • README は主に中国語で書かれており、完全なドキュメントは sa-token.com で公開されています。
  • Java のみ対応しています。他の言語向けには別個のコミュニティ移植版があり、それぞれメンテナンス状況が異なります。

収録されている特集

トピック

よくある質問

Sa-Token とは?
SpringなどのWebスタック向けに、ログイン、権限管理、SSO、OAuth2、JWT、API署名を提供するJava認証・認可フレームワーク。 Sa-Tokenは、Webアプリケーションの認証・認可を扱うJavaフレームワークです。ログインセッション、ロールと権限のチェック、強制ログアウト、セッション管理を提供し、アノテーションまたはルートベースでアクセス制御を適用できます。StpUtil.login(userId)のような短い静的メソッドを呼び出し、その後にStpUtil.checkLogin()を実行するのが基本的な使い方です。
Sa-Token は無料で使えますか?ライセンスは?
Sa-Token は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
Sa-Token は今もメンテナンスされていますか?
活発にメンテナンス中。Sa-Token の最終コミットは 2026年10月16日 です。
Sa-Token は何に使えますか?
Spring Bootバックエンドへのログイン機能とロールベースのアクセス制御の追加 複数の社内Webシステム間でのシングルサインオンの構築 マイクロサービスゲートウェイでのAPI保護 独自のJavaサービスからのOAuth2トークン発行
Sa-Token のインストール方法は?
pom.xml に Spring Boot starter の依存関係を追加する 静的メソッドを1回呼び出してユーザーをログインさせる: StpUtil.login(10001); ログイン済みのクライアントだけがアクセスできるようにエンドポイントを保護する: StpUtil.checkLogin();
Sa-Token はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/dromara/Sa-Token

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト