JSON Web Token (JWT) là chuẩn xác thực stateless phổ biến nhất hiện nay trong các ứng dụng Web và Mobile (OAuth2, OpenID Connect). Một token JWT gồm 3 phần ngăn cách bởi dấu chấm .: Header.Payload.Signature.
Cho một chuỗi token jwtToken hợp lệ. Hãy bóc tách và giải mã phần Payload (phần thứ 2) từ định dạng Base64Url sang đối tượng JSON.
Lưu ý về chuẩn Base64Url:
- Ký tự
-tương ứng với+trong Base64 chuẩn. - Ký tự
_tương ứng với/trong Base64 chuẩn. - Cần thêm padding
=ở cuối nếu độ dài chuỗi không chia hết cho 4 trước khi giải mã Base64.
Ví dụ 1:
Input: 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTYiLCJuYW1lIjoiQW50aWdyYXZpdHkifQ.signature'
Output: {'name': 'Antigravity', 'sub': '123456'}
Ví dụ 2:
Input: 'header.eyJyb2xlIjoiYWRtaW4ifQ.sig'
Output: {'role': 'admin'}
Định Dạng Đầu Vào (Input)
Định Dạng Đầu Ra (Output)
Ràng Buộc (Constraints)
Token hợp lệ gồm 3 phần ngăn cách bởi dấu chấm .
Ví Dụ Kiểm Thử Mẫu
"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTYiLCJuYW1lIjoiQW50aWdyYXZpdHkifQ.signature"
{"name":"Antigravity","sub":"123456"}
"header.eyJyb2xlIjoiYWRtaW4ifQ.sig"
{"role":"admin"}
Kỹ thuật Base64URL Decoding O(n)
1. Cắt chuỗi bằng dấu chấm lấy phần thứ hai (index 1).
2. Thay thế - thành +, _ thành /.
3. Giải mã Base64 sang chuỗi JSON và parse thành đối tượng.
Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.



