Bỏ qua, tới nội dung
Monu Tools

Tạo JWT

Tạo và ký JSON Web Token HS256 từ một payload và secret, hoàn toàn trong trình duyệt của bạn.

Cách dùng Tạo JWT

  1. 01

    Chỉnh payload dưới dạng một đối tượng JSON.

  2. 02

    Nhập secret HS256 của bạn.

  3. 03

    Tạo và sao chép token đã ký.

Ký token ngay trong trình duyệt

Một bộ tạo JWT dựng và ký các JSON Web Token từ phần tải và khóa bí mật của bạn, hoàn toàn trong trình duyệt bằng Web Crypto API. Nó đi cặp với bộ giải mã JWT, vốn dùng để xem một token có sẵn.

Một JWT được ghép lại thế nào

Một JWT có ba phần cách nhau bằng dấu chấm: phần header, phần tải chứa các thông tin xác nhận, và phần chữ ký, mỗi phần đều mã hóa Base64url. Chữ ký là thứ khiến token đáng tin: nó chứng minh phần tải chưa bị sửa và được phát hành bởi ai đó nắm khóa bí mật.

HS256 và khóa bí mật của bạn

Công cụ này ký bằng HS256, tức HMAC dùng SHA-256, thuật toán JWT đối xứng phổ biến nhất. Cùng một khóa bí mật vừa ký vừa xác minh token, nên nó phải được giữ kín trên máy chủ.

Với HS256, hãy dùng một khóa bí mật dài và ngẫu nhiên. Một khóa ngắn hay dễ đoán sẽ phá hỏng toàn bộ ý nghĩa của token, vì ai đoán ra nó cũng có thể tự tạo token hợp lệ.

Được mã hóa biểu diễn chứ không mã hóa bảo mật

Một điểm quan trọng về JWT: phần tải chỉ được mã hóa biểu diễn chứ không mã hóa bảo mật. Bất kỳ ai có token đều đọc được các thông tin trong đó bằng cách giải mã Base64, nên đừng bao giờ đặt mật khẩu hay dữ liệu nhạy cảm vào một JWT. Chữ ký ngăn việc sửa đổi chứ không đem lại sự bí mật.

Lưu ý về an toàn

Vì việc ký diễn ra tại chỗ, khóa bí mật và phần tải của bạn không bao giờ rời khỏi thiết bị. Dù vậy, hãy tránh dán những khóa bí mật thật của môi trường chạy thật trên một máy tính dùng chung hay máy công cộng.

Câu hỏi thường gặp

Thuật toán nào được dùng?

HS256 (HMAC với SHA-256), thuật toán JWT đối xứng phổ biến nhất, được ký trong trình duyệt của bạn bằng Web Crypto API.

Secret của tôi có được gửi đi đâu không?

Không. Việc ký diễn ra hoàn toàn trong trình duyệt của bạn, nên secret và payload không bao giờ rời khỏi thiết bị. Tuy vậy, hãy tránh secret sản xuất thật trên máy dùng chung.

Tôi có thể giải mã một token không?

Có, dùng công cụ giải mã JWT để kiểm tra header và payload của một token hiện có.

Nguồn

Báo lỗi