2. Xác thực API bằng JWT
Trong phần này, chúng ta sẽ tìm hiểu cách xác thực API trong ứng dụng Java Spring Boot bằng JSON Web Token (JWT). JWT là một tiêu chuẩn mở (RFC 7519) cho phép truyền tải thông tin an toàn giữa các bên dưới dạng đối tượng JSON. Nó thường được sử dụng để xác thực người dùng trong các ứng dụng web và di động.
Thêm phụ thuộc vào dự án
Để sử dụng JWT trong Spring Boot, bạn cần thêm các phụ thuộc sau vào tệp build.gradle (sử dụng Gradle):
// Thêm vào build.gradle
// Security
implementation 'org.springframework.boot:spring-boot-starter-security'
// JWT
implementation 'io.jsonwebtoken:jjwt-api:0.12.5'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.5'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.5'
Yêu cầu trước khi làm việc với JWT
Để sử dụng JWT, bạn cần có một lớp người dùng (User) với các thuộc tính như username, password, và các quyền (roles) của người dùng. Bạn cũng
cần một lớp UserJpaRepository để truy xuất thông tin người dùng từ cơ sở dữ liệu. Dưới đây là một ví dụ về lớp người dùng và repository: