Công cụ tạo PKCE — Code Verifier và Code Challenge OAuth

Kiểm thử hoặc gỡ lỗi đăng nhập OAuth 2.0 / OpenID Connect với PKCE. Tạo code verifier ngẫu nhiên, S256 code challenge tương ứng (SHA-256, base64url), cùng state và nonce. Bạn cũng có thể dán verifier của riêng mình để kiểm tra challenge. Điền endpoint của nhà cung cấp để nhận URL xác thực đầy đủ và yêu cầu lấy token dưới dạng curl. Mọi thứ đều được tính toán bằng Web Crypto ngay trong trình duyệt của bạn.

Cập nhật

Cặp PKCE

code_challenge (S256)
state
nonce

1. URL xác thực

Mở

2. Đổi mã lấy token

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Giải mã JWT online miễn phíXem header, payload và claims với ngày exp/iat dễ đọc, trạng thái hết hạn, và xác minh chữ ký HS256, RS256 hoặc ES256.Giải mã JWT →

Cách dùng Công cụ tạo PKCE

  1. Code verifier và S256 challenge của nó được tạo ngay lập tức. Nhấn Tạo mới để có cặp khác, hoặc dán verifier của riêng bạn để xem challenge tương ứng.
  2. Điền endpoint xác thực và endpoint token của nhà cung cấp, cùng client_id, redirect_uri và scope.
  3. Mở URL xác thực, đăng nhập, rồi sao chép code từ đường dẫn chuyển hướng.
  4. Chạy yêu cầu lấy token (curl) với mã đó. Verifier chính là bằng chứng cho thấy bạn là người bắt đầu quy trình đăng nhập.

PKCE bảo vệ quá trình đăng nhập như thế nào

PKCE (Proof Key for Code Exchange, RFC 7636) ngăn người khác sử dụng lại authorization code bị đánh cắp. Ứng dụng tạo một bí mật ngẫu nhiên gọi là code verifier và chỉ gửi bản băm của nó, tức code challenge, cùng yêu cầu đăng nhập. Khi đổi mã nhận được lấy token, ứng dụng gửi chính verifier; máy chủ sẽ băm lại và kiểm tra xem có khớp không. Kẻ tấn công chặn được mã cũng không có verifier.

  • Verifier dài 43–128 ký tự, gồm A–Z a–z 0–9 - . _ ~.
  • S256: code_challenge = BASE64URL(SHA256(code_verifier)), không có padding.
  • OAuth 2.1 yêu cầu PKCE cho mọi client, kể cả ứng dụng phía máy chủ, không chỉ ứng dụng di động và single-page.
  • state giúp chống CSRF; nonce gắn ID token của OpenID Connect với lần đăng nhập này.

Giải mã các token nhận được bằng JWT Decoder, hoặc thử lệnh gọi token trong API Tester.

Cũng được tìm dưới tên: pkce generator, tạo code verifier pkce, code challenge generator, pkce code challenge, oauth pkce, oauth2 pkce example, s256 code challenge, pkce online.

Các công cụ dùng kèm tốt với Công cụ tạo PKCE

  • Tạo JWT — Tạo JWT để kiểm thử API: chỉnh payload, thêm các claim chuẩn chỉ với một cú nhấp và ký bằng HMAC secret hoặc khóa riêng RSA / EC.
  • Tạo mã Hash — Tính mã hash MD5 và SHA cho mọi văn bản hoặc file ngay lập tức, tạo chữ ký HMAC và dán checksum mong đợi để kiểm tra file tải về.
  • Mã hóa / Giải mã Base64 — Chuyển văn bản sang Base64 và ngược lại với hỗ trợ đầy đủ UTF-8 (dấu tiếng Việt, emoji), chuyển sang Base64 an toàn cho URL, hoặc thả tệp vào để lấy chuỗi Base64 hay data URI.
  • Tạo mật khẩu — Tạo mật khẩu thực sự ngẫu nhiên và mạnh, hoặc cụm mật khẩu dễ gõ, với các quy tắc nâng cao: thêm hoặc loại trừ từ, bắt buộc có ký tự nhất định, chọn ký tự đặc biệt được phép, tránh lặp lại và chuỗi liên tiếp.

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

Code challenge PKCE được tính như thế nào?
Lấy bản băm SHA-256 của code verifier (dưới dạng byte ASCII), rồi mã hóa bằng base64url và bỏ padding dấu =. Đây là phương thức S256 mà công cụ này sử dụng.
Code verifier nên dài bao nhiêu?
Từ 43 đến 128 ký tự. 43 ký tự base64url ngẫu nhiên đã chứa 256 bit ngẫu nhiên, là quá đủ; dài hơn cũng được.
Nên dùng S256 hay plain?
Luôn dùng S256. plain gửi chính verifier làm challenge, nên không bảo vệ được gì nếu yêu cầu bị nhìn thấy. Phương thức này chỉ tồn tại cho các client không thể tính SHA-256.
Các giá trị có được gửi đi đâu không?
Không. Chúng được tạo bằng API mã hóa của trình duyệt và chỉ rời khỏi trang khi bạn sao chép hoặc mở URL xác thực.
Tôi có thể cài Công cụ tạo PKCE như một ứng dụng web và dùng khi không có mạng không?
Có. Công cụ tạo PKCE là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan