Nhà phát triển / OAuth
Trình tạo mã xác minh và thử thách PKCE
Tạo mã xác minh PKCE OAuth 2.0, thử thách mã S256 tương ứng và giá trị state, hoặc kiểm tra mã xác minh bạn đã có theo RFC 7636.
Trình tạo mã xác minh và thử thách PKCE: PKCE bảo vệ luồng mã ủy quyền OAuth cho các ứng dụng không thể giữ thông tin bí mật, chẳng hạn như ứng dụng di động và ứng dụng một trang. Mã xác minh là một chuỗi ký tự không dành riêng được tạo ngẫu nhiên từ bộ tạo số ngẫu nhiên an toàn của trình duyệt, không có thiên lệch; thử thách là giá trị SHA-256 của mã xác minh được mã hóa bằng Base64url. Phép tính khớp với ví dụ minh họa trong RFC 7636. 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ủ.
- Danh mục
- Công cụ lập trình viên
- 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
Chạy hoàn toàn trong trình duyệt của bạn
——S256—Gửi code_challenge và code_challenge_method=S256 cùng yêu cầu ủy quyền, giữ mã xác minh bí mật ở phía máy khách và gửi mã đó cùng yêu cầu cấp mã thông báo. Mã thử thách là SHA-256 Base64url của mã xác minh, theo định nghĩa của RFC 7636.
Tóm tắt quy trình
Ứng dụng tạo một mã xác minh và giữ lại mã đó, gửi thử thách đến máy chủ cấp phép cùng với yêu cầu đăng nhập, nhận mã cấp phép, rồi trao đổi mã đó cùng mã xác minh để lấy token. Kẻ tấn công chặn được mã cũng không thể sử dụng mã nếu không có mã xác minh.
Để kiểm tra các token nhận được, hãy dùng bộ giải mã JWT.
Hiện bắt buộc ở mọi nơi
OAuth 2.1 và các phương pháp bảo mật tốt nhất hiện nay khuyến nghị PKCE cho mọi ứng dụng khách sử dụng quy trình mã cấp phép, kể cả ứng dụng khách phía máy chủ bảo mật.
Cách sử dụng
- Chọn độ dài mã xác minh, từ 43 đến 128 ký tự, rồi nhấn Tạo.
- Sao chép thử thách mã và phương thức vào yêu cầu ủy quyền.
- Giữ lại mã xác minh cho yêu cầu token; dán mã xác minh để xem thử thách tương ứng.
Quyền riêng tư và giới hạn
Các giá trị được tạo trong trình duyệt của bạn và không bao giờ được gửi đi đâu.
Công cụ liên quan
Câu hỏi thường gặp
Tôi nên dùng plain hay S256?
Luôn dùng S256 khi máy khách có thể tính SHA-256, điều mà mọi nền tảng hiện đại đều làm được; plain chỉ dành cho máy khách không thể thực hiện việc này.
Giá trị state dùng để làm gì?
Giá trị này bảo vệ khỏi giả mạo yêu cầu liên trang: hãy gửi nó cùng yêu cầu ủy quyền và kiểm tra xem giá trị giống hệt có được gửi trở lại hay không.
Mã xác minh nên dài bao nhiêu?
Ít nhất 43 ký tự; 64 ký tự trở lên là thông dụng. Độ dài lớn hơn tăng tính ngẫu nhiên nhưng không gây vấn đề tương thích cho đến 128 ký tự.
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