Trình giải mã JWT
Phân tích và giải mã mã thông báo JSON Web Token (JWT).
Bạn cũng có thể thích
Giới thiệu
Đây là một công cụ trực tuyến miễn phí được thiết kế cho các nhà phát triển để giải mã và phân tích nội dung của JSON Web Tokens (JWT) một cách an toàn. Xác minh ngay lập tức dữ liệu tải trọng (payload), tiêu đề thuật toán (header) và dễ dàng kiểm tra thời gian hết hạn của token.
Vì token thường mang dữ liệu xác thực nhạy cảm, công cụ này chạy hoàn toàn dựa trên "Xử lý Phía Máy khách (Client-Side)". Điều này đảm bảo rằng các JWT mà bạn dán được phân tích hoàn toàn bởi trình duyệt trên thiết bị của bạn và TUYỆT ĐỐI KHÔNG CÓ thông tin nào được truyền đến máy chủ của chúng tôi hoặc lưu trữ ở bất cứ đâu trên mạng.
Cách sử dụng
- Dán Token: Lấy chuỗi JWT thô, đã mã hóa của bạn (thường bắt đầu bằng `ey...`) và dán vào hộp văn bản "JWT đã mã hóa" ở bên trái.
- Phân tích Tức thì: Công cụ sẽ tự động tách và giải mã token thành các định dạng JSON đẹp mắt, có đánh dấu cú pháp ở phía bên phải.
- Xác minh Header & Payload: Hộp "Header" màu đỏ hiển thị siêu dữ liệu như thuật toán. Hộp "Payload" màu tím tiết lộ các xác nhận (claims) thực tế (ví dụ: ID người dùng, vai trò).
- Kiểm tra Hết hạn: Nếu tải trọng chứa các dấu thời gian `exp` hoặc `iat` tiêu chuẩn, công cụ sẽ tự động chuyển đổi chúng sang giờ địa phương của bạn. Một huy hiệu sẽ cảnh báo bạn xem token hiện đang "Hợp lệ" hay "Đã hết hạn".
Thuật ngữ
- JWT (JSON Web Token)
- Một token đã ký chứa tải trọng có định dạng JSON. Được sử dụng rộng rãi trong các ứng dụng web như một cơ chế để xác thực và ủy quyền.
- Header (Tiêu đề)
- Phần đầu tiên của JWT. Lưu trữ loại token (typ) và thông tin thuật toán ký (alg), được mã hóa Base64Url.
- Payload (Tải trọng)
- Phần dữ liệu chính của JWT. Chứa các xác nhận (claims) như ID người dùng, quyền, thời gian hết hạn (exp) và thời gian phát hành (iat).
- Signature (Chữ ký)
- Phần phát hiện giả mạo của JWT. Được tạo bằng cách ký header và payload với một khóa bí mật (secret key) để đảm bảo tính xác thực của token.
- Mã hóa Base64Url
- Một sơ đồ mã hóa chuyển đổi dữ liệu nhị phân thành chuỗi an toàn cho URL. Mỗi phần của JWT (Header, Payload, Signature) được mã hóa bằng sơ đồ này.
- Claims (Xác nhận)
- Các mục thông tin riêng lẻ trong tải trọng JWT. Bao gồm các xác nhận được bảo lưu như iss (nhà phát hành), sub (chủ đề), exp (hết hạn), iat (thời điểm phát hành) và các xác nhận tùy chỉnh dành riêng cho ứng dụng.
- Hết hạn (exp)
- Dấu thời gian UNIX tại đó token JWT trở nên không hợp lệ. Công cụ này chuyển đổi giá trị này thành định dạng ngày giờ dễ đọc để dễ dàng xác minh.
Các trường hợp sử dụng
- Gỡ lỗi API: Xác minh xem máy chủ xác thực phụ trợ (backend) của bạn có đang đóng gói ID người dùng và Vai trò vào tải trọng token một cách chính xác hay không mà không cần viết các tập lệnh giải mã tùy chỉnh.
- Kiểm tra Lỗi 401 Unauthorized: Lấy token từ bộ nhớ cục bộ (local storage) của trình duyệt hoặc tab mạng của nhà phát triển để kiểm tra ngay xem dấu thời gian hết hạn (`exp`) đã trôi qua hay chưa.
- Triển khai Frontend: Xác nhận trực quan cấu trúc JSON chính xác của tải trọng JWT đã giải mã để ánh xạ các thuộc tính người dùng một cách thích hợp trong ứng dụng React/Vue frontend của bạn.
Câu hỏi thường gặp
- Hỏi:Token JWT tôi nhập vào có được gửi đến máy chủ không?
- Không. Việc giải mã JWT được thực hiện hoàn toàn bằng JavaScript trong trình duyệt. Token không bao giờ được gửi ra bên ngoài, vì vậy ngay cả các token nhạy cảm cũng có thể được phân tích một cách an toàn.
- Hỏi:Công cụ này có thể xác minh chữ ký JWT không?
- Công cụ này chuyên giải mã (phân tích cú pháp) cấu trúc của JWT. Việc xác minh chữ ký yêu cầu một khóa bí mật (secret key); trong môi trường sản xuất, vui lòng thực hiện việc xác minh ở phía máy chủ.
- Hỏi:Tôi có thể giải mã một JWT đã hết hạn không?
- Có. Công cụ này chỉ đơn giản là giải mã và hiển thị nội dung của token, vì vậy nó có thể phân tích các token bất kể trạng thái hết hạn. Bạn cũng có thể xem nhanh xem token đã hết hạn hay chưa.
- Hỏi:Ba phần của JWT (Header, Payload, Signature) có được phân biệt bằng màu không?
- Có. Header (màu đỏ), Payload (màu tím) và Signature (màu xanh lam) được phân biệt rõ ràng bằng hình ảnh, với nội dung của từng phần được hiển thị dưới dạng JSON đã định dạng.
- Hỏi:Điều gì xảy ra nếu tôi nhập định dạng JWT không hợp lệ?
- Một thông báo lỗi sẽ được hiển thị và bạn sẽ được hướng dẫn phần định dạng nào đang gặp sự cố. Vui lòng nhập JWT hợp lệ theo định dạng "xxx.yyy.zzz".
- Hỏi:Dấu thời gian UNIX có tự động được chuyển đổi không?
- Có. Các giá trị dấu thời gian UNIX như exp (hết hạn) và iat (ngày phát hành) tự động được chuyển đổi sang định dạng ngày giờ dễ đọc.
- Hỏi:Tôi có thể sử dụng công cụ này trên điện thoại thông minh không?
- Có. Công cụ này có tính phản hồi (responsive), vì vậy bạn cũng có thể dán, giải mã và xem xét JWT từ trình duyệt trên điện thoại thông minh.
Gửi phản hồi
Vui lòng cho chúng tôi biết suy nghĩ của bạn để giúp chúng tôi cải thiện công cụ.
Feedback is temporarily suspended
The server is busy or spam protection is active. Please try again later.