What problem does it solve? Securing a Spring Boot REST API with stateless JWT authentication involves many moving parts—token generation, validation filters, refresh token rotation, and role-based access control—and getting any of them wrong creates security holes. This Skill provides complete, tested implementation patterns for Spring Security 6.x and JJWT 0.12.6 so you can set up authentication and authorization correctly. ## Core Features & Use Cases - Token Lifecycle Management: Generate access and refresh tokens with JJWT, implement refresh token rotation, revocation, and blacklisting via the jti claim. - Flexible Authentication Strategies: Support both Authorization: Bearer header and HttpOnly cookie-based authentication, plus OAuth2 login with Google and GitHub. - Fine-Grained Authorization: Apply RBAC and permission-based rules with @PreAuthorize, custom PermissionEvaluator, and role hierarchies. - Use Case: You are building a Spring Boot backend for a SPA and need stateless login, 15-minute access tokens, 7-day rotating refresh tokens stored in the database, and admin-only endpoints—this Skill walks you through every step from dependencies to security tests. ## Quick Start Ask the AI to implement JWT authentication with refresh token rotation and role-based access control in your Spring Boot 3.5.x project.