Xác thực OTP không mật khẩu
Cách SmallPict sử dụng mã OTP an toàn không cần mật khẩu để kích hoạt website WordPress chỉ trong một cú nhấp chuột.
SmallPict loại bỏ hoàn toàn cơ chế đăng nhập bằng tên người dùng và mật khẩu truyền thống, thay thế bằng cơ chế xác thực Mã OTP một lần (One-Time Password).
Điều này đảm bảo an toàn tối đa trước các cuộc tấn công đánh cắp thông tin đăng nhập (Credential Stuffing), đồng thời giúp quản trị viên kết nối website WordPress với hệ thống đám mây chỉ trong vài giây.
Kiến trúc bảo mật mật mã học
Quy trình xác thực OTP tuân thủ các quy tắc an toàn nghiêm ngặt:
| Tiêu chí bảo vệ | Quy tắc áp dụng |
|---|---|
| Tạo mã xác thực | Số nguyên ngẫu nhiên 6 chữ số được tạo bằng bộ tạo số ngẫu nhiên mật mã học |
| Lưu trữ an toàn | Mã OTP được mã hóa bằng thuật toán băm SHA-256 trước khi lưu vào cơ sở dữ liệu (không lưu văn bản thuần) |
| Thời gian hết hạn (TTL) | Có hiệu lực trong vòng 5 phút (300 giây) kể từ thời điểm phát hành |
| Thời gian chờ gửi lại | Bắt buộc giãn cách tối thiểu 60 giây giữa hai lần yêu cầu gửi mã |
| Giới hạn số lần thử | Cho phép tối đa 3 lần thử sai trước khi phiên làm việc bị vô hiệu hóa vĩnh viễn |
| Theo dõi chống tấn công | Địa chỉ IP gửi yêu cầu được băm và giám sát để chống tấn công vét cạn (brute-force) |
Quy trình xác thực chi tiết
1. Gửi yêu cầu nhận mã OTP
Khi quản trị viên nhập địa chỉ email trên trang cài đặt WordPress và gửi đi, plugin sẽ gọi điểm cuối:
POST https://api.smallpict.app/v1/plugin/auth/request-otp
{ "email": "admin@example.com", "site_url": "https://example.com", "consent": true}Hệ thống SmallPict sẽ tạo mã OTP, băm và lưu vào cơ sở dữ liệu, sau đó gửi email chứa mã qua dịch vụ gửi thư tin cậy.
2. Xác minh mã OTP
Khi người quản trị nhập mã 6 chữ số nhận được qua email:
POST https://api.smallpict.app/v1/plugin/auth/verify-otp
{ "email": "admin@example.com", "otp": "839201", "site_url": "https://example.com"}Sau khi xác minh thành công, hệ thống SmallPict sẽ tự động:
- Mở tài khoản khách hàng nếu đây là trang web đầu tiên của người dùng.
- Cấp một cặp khóa API WordPress chuyên dụng (
sp_wp_...) và Secret Key. - Tự động lưu cặp khóa vào cơ sở dữ liệu cục bộ của WordPress trong bảng tùy chọn mã hóa để hoàn tất liên kết.
Xử lý các sự cố thường gặp
Không nhận được email chứa mã xác thực?
- Kiểm tra hòm thư rác (Spam / Junk) của bạn.
- Đợi 60 giây và nhấp vào liên kết Gửi lại OTP (Resend OTP) trên màn hình thiết lập.
- Đảm bảo tường lửa máy chủ của bạn cho phép gửi yêu cầu HTTPS đi ra ngoài tới
https://api.smallpict.app.
Nhận được thông báo "Đã vượt quá số lần thử OTP"?
Nếu nhập sai mã 3 lần, phiên xác thực sẽ tự động bị hủy để bảo mật. Hãy nhập lại email để yêu cầu một mã OTP mới.