Nhà phát triển / Token

Bộ mã hóa và trình tạo JWT

Tạo và ký JSON Web Token từ payload JSON bằng HS256/384/512, RS256/384/512, PS256/384/512 hoặc ES256/384, với các claim iat và exp được thiết lập nhanh để kiểm thử API.

Bộ mã hóa và trình tạo JWT: JWT gồm ba phần Base64url được nối bằng dấu chấm: header chỉ rõ thuật toán, payload chứa các claim và chữ ký trên hai phần đầu. Các thuật toán HMAC ký bằng secret dùng chung; RSA và ECDSA ký bằng khóa riêng tư để bất kỳ ai có khóa công khai đều có thể xác minh. Việc ký sử dụng Web Crypto API của trình duyệt; chữ ký ECDSA được ghi dưới dạng giá trị r‖s dài 64 hoặc 96 byte mà JWS yêu cầu. Chạy 100% cục bộ trong trình duyệt của bạn, không có tệp nào được tải lên máy chủ.

Lượt chạy
Trong trình duyệt của bạn
Chi phí
Miễn phí · không cần đăng ký
Trạng thái khả dụng
Sẵn sàng sử dụng
Bộ mã hóa JWTXử lý cục bộ

Chạy hoàn toàn trong trình duyệt của bạn

Token được ký trong trình duyệt của bạn bằng Web Crypto. Hãy dùng khóa thử nghiệm: mọi khóa được dán vào trang web đều phải được xem là đã bị lộ.

Các claim tiêu chuẩn

iss cho biết ai đã cấp token, sub cho biết token nói về ai, aud cho biết token dành cho ai, exp cho biết khi nào token hết hạn, nbf cho biết khi nào token bắt đầu hợp lệ, iat cho biết khi nào token được cấp, còn jti là ID duy nhất; thời gian được tính bằng số giây kể từ 1 tháng 1 năm 1970. Hãy để token truy cập có thời hạn ngắn, từ vài phút đến một giờ, và kiểm tra exp cùng aud trong mọi yêu cầu.

Để đọc token, hãy dùng bộ giải mã JWT; để kiểm tra chữ ký, hãy dùng công cụ xác minh JWT.

Thuật toán none

Một số thư viện trước đây chấp nhận token có alg none và không có chữ ký; máy chủ luôn phải quyết định những thuật toán nào được chấp nhận, không bao giờ tin tưởng tiêu đề do chính token cung cấp. Vì vậy, công cụ này chỉ cung cấp các thuật toán có chữ ký.

Cách sử dụng

  1. Chọn thuật toán và thêm ID khóa nếu máy chủ của bạn yêu cầu.
  2. Chỉnh sửa payload JSON; thiết lập iat hoặc thời hạn bằng một cú nhấp.
  3. Nhập secret dùng chung hoặc dán khóa riêng tư kiểm thử ở định dạng PKCS #8 PEM, rồi sao chép token.

Quyền riêng tư và giới hạn

Payload và các khóa được giữ trong trình duyệt của bạn. Chỉ sử dụng khóa kiểm thử.

Công cụ liên quan

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

JWT có được mã hóa không?

Không: bất kỳ ai cũng có thể đọc payload của JWT đã ký bằng cách giải mã Base64url. Chữ ký chỉ chứng minh ai đã tạo JWT và JWT chưa bị thay đổi; không bao giờ đặt secret vào payload.

Tôi nên sử dụng thuật toán nào?

Dùng HS256 khi cùng một dịch vụ tạo và kiểm tra token; dùng RS256 hoặc ES256 khi các dịch vụ khác xác minh token bằng khóa công khai. ES256 tạo ra token ngắn hơn.

Khóa của tôi bắt đầu bằng BEGIN RSA PRIVATE KEY. Tôi phải làm gì?

Đó là PKCS #1; hãy chuyển đổi bằng openssl pkcs8 -topk8 -nocrypt -in key.pem. Lệnh này xuất ra định dạng BEGIN PRIVATE KEY mà trình duyệt chấp nhận.

Công cụ miễn phí · trong trình duyệt của bạn lượt chạy · không cần tài khoản