Spring Boot

JWT & Bảo mật Stateless

Bảo mật stateless với JWT, tạo và xác thực token, bộ lọc bảo mật, refresh token

20 câu hỏi phỏng vấn·
Senior
1

Cấu trúc của một JWT (JSON Web Token) là gì?

Câu trả lời

Một JWT bao gồm ba phần được phân tách bằng dấu chấm: Header (thuật toán và loại), Payload (claims/dữ liệu) và Signature (xác minh tính toàn vẹn). Mỗi phần được mã hóa bằng Base64URL. Cấu trúc này cho phép truyền thông tin một cách an toàn và có thể xác minh giữa hai bên.

2

JWT claim nào đại diện cho chủ thể (người dùng) của token?

Câu trả lời

Claim 'sub' (subject) xác định chủ thể của JWT, thường là người dùng đã được xác thực (ví dụ: user ID hoặc username). Đây là một claim chuẩn được định nghĩa trong RFC 7519. Các claim chuẩn khác bao gồm 'iss' (issuer), 'exp' (expiration), 'iat' (issued at), 'aud' (audience) và 'jti' (JWT ID).

3

Sự khác biệt chính giữa thuật toán ký HMAC và RSA cho JWT là gì?

Câu trả lời

HMAC (ví dụ: HS256) sử dụng một khóa bí mật đối xứng được chia sẻ để ký và xác minh, trong khi RSA (ví dụ: RS256) sử dụng cặp khóa bất đối xứng (khóa riêng để ký, khóa công khai để xác minh). RSA được ưu tiên khi nhiều dịch vụ cần xác minh token mà không truy cập khóa ký, như trong các kiến trúc microservices.

4

JWT claim nào xác định ngày hết hạn của token?

5

Client nên gửi JWT trong một yêu cầu HTTP REST như thế nào?

+17 câu hỏi phỏng vấn

Các chủ đề phỏng vấn Spring Boot khác

Nắm vững Spring Boot cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí