OIDC와 OAuth 2.1 기반의 오픈소스 인증·인가 인프라로, SaaS 및 AI 앱을 위한 멀티테넌시, 엔터프라이즈 SSO와 RBAC를 제공합니다.
dromara/Sa-Token
Spring 및 기타 웹 스택에서 로그인, 권한, SSO, OAuth2, JWT, API 서명을 지원하는 Java 인증·인가 프레임워크입니다.
대체할 수 있는 제품:Spring Security
Apache Shiro
- 스타
- 19,109
- 포크
- 2,913
- 열린 이슈
- 123
- 마지막 커밋
- 21일 전
어떤 프로젝트인가요?
Sa-Token은 웹 애플리케이션의 인증과 인가를 처리하는 Java 프레임워크입니다. 로그인 세션, 역할 및 권한 확인, 강제 로그아웃, 세션 관리를 제공하며 어노테이션이나 라우트 기반으로 적용할 수 있습니다. 핵심 API는 StpUtil.login(userId)로 로그인한 다음 StpUtil.checkLogin()을 호출하는 것처럼 간단한 정적 호출로 사용할 수 있습니다.
기본 로그인 기능 외에도 세 가지 배포 모드(동일 도메인, 크로스 도메인, 크로스 Redis)의 싱글 사인온, authorization code·implicit·password·client credentials 그랜트 유형을 지원하는 OAuth2 서버, Gateway·ShenYu·Zuul용 마이크로서비스 게이트웨이 검사를 제공합니다. JWT 연동, API Key 인증, API 파라미터 서명, Http Basic 및 Digest 인증, 계정 차단 기능도 포함합니다.
연동 패키지는 Spring Boot 2 및 3/4, Spring WebFlux, Solon, JFinal을 지원하며 Redis를 영속성 계층으로 사용할 수 있습니다. 공식 데모와 문서는 중국어로 제공됩니다.
핵심 기능
- 01다중 기기, 단일 기기, 상호 배타적 로그인 모드를 지원하는 로그인 세션
- 02어노테이션 및 라우트 기반 권한·역할 확인
- 03세 가지 모드의 싱글 사인온과 단일 로그아웃
- 04네 가지 표준 그랜트 유형을 지원하는 OAuth2 서버
- 05JWT 연동 및 API Key 인증
- 06변조와 재전송을 방지하는 API 파라미터 서명
활용 사례
- Spring Boot 백엔드에 로그인 및 역할 기반 접근 제어 추가
- 여러 사내 웹 시스템 간 싱글 사인온 구축
- 마이크로서비스 게이트웨이에서 API 보호
- 자체 Java 서비스에서 OAuth2 토큰 발급
빠른 시작
- 1
pom.xml에 Spring Boot starter 의존성을 추가합니다
- 2
정적 메서드를 한 번 호출해 사용자를 로그인시킵니다
StpUtil.login(10001); - 3
로그인한 클라이언트만 액세스할 수 있도록 엔드포인트를 보호합니다
StpUtil.checkLogin();
사용 전 알아둘 점
- README는 주로 중국어로 작성되어 있으며, 전체 문서는 sa-token.com에서 확인할 수 있습니다.
- Java만 지원합니다. 다른 언어용 포트는 커뮤니티에서 별도로 제공하며, 각각 유지 관리 상태가 다릅니다.
포함된 컬렉션
토픽
자주 묻는 질문
- Sa-Token은(는) 무엇인가요?
- Spring 및 기타 웹 스택에서 로그인, 권한, SSO, OAuth2, JWT, API 서명을 지원하는 Java 인증·인가 프레임워크입니다. Sa-Token은 웹 애플리케이션의 인증과 인가를 처리하는 Java 프레임워크입니다. 로그인 세션, 역할 및 권한 확인, 강제 로그아웃, 세션 관리를 제공하며 어노테이션이나 라우트 기반으로 적용할 수 있습니다. 핵심 API는 StpUtil.login(userId)로 로그인한 다음 StpUtil.checkLogin()을 호출하는 것처럼 간단한 정적 호출로 사용할 수 있습니다.
- Sa-Token은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- Sa-Token은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- Sa-Token은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. Sa-Token의 마지막 커밋은 2026년 10월 16일입니다.
- Sa-Token은(는) 어디에 사용할 수 있나요?
- Spring Boot 백엔드에 로그인 및 역할 기반 접근 제어 추가 여러 사내 웹 시스템 간 싱글 사인온 구축 마이크로서비스 게이트웨이에서 API 보호 자체 Java 서비스에서 OAuth2 토큰 발급
- Sa-Token는 어떻게 설치하나요?
- pom.xml에 Spring Boot starter 의존성을 추가합니다 정적 메서드를 한 번 호출해 사용자를 로그인시킵니다: StpUtil.login(10001); 로그인한 클라이언트만 액세스할 수 있도록 엔드포인트를 보호합니다: StpUtil.checkLogin();
- Sa-Token은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dromara/Sa-Token
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
CAS, SAML2, OAuth2, OpenID Connect 및 다중 인증을 지원하는 Java 기반 오픈소스 싱글 사인온 및 ID 공급자 서버입니다.
OpenID Connect, OAuth 2, PAM 기반 SSO를 제공하고 패스키에 중점을 둔 경량 Rust Identity Provider입니다.
플러그인 시스템을 갖춘 TypeScript용 프레임워크 독립적인 인증·인가 프레임워크
소규모 랩부터 대규모 클러스터까지 자체 호스팅할 수 있는 SSO용 오픈소스 ID 공급자
OIDC, OAuth2, DPoP, CIBA를 지원하는 Rust 기반 셀프 호스팅 Keycloak 호환 ID 제공자. 단일 바이너리로 배포됩니다.