Bỏ qua, đến nội dung

Hướng dẫn cài đặt — Two-Factor Authentication

Yêu cầu

Thành phầnYêu cầu
Digiforce ServerĐang chạy bình thường
plugin-verificationBắt buộc — plugin 2FA phụ thuộc vào hệ thống verification
VerifierÍt nhất 1 verifier đã cấu hình (SMS OTP hoặc Email OTP)
Ứng dụng TOTP(Tùy chọn) Google Authenticator, Authy, Microsoft Authenticator

Bước 1: Đảm bảo plugin-verification đã hoạt động

Plugin 2FA phụ thuộc vào plugin-verification để quản lý verifiers. Kiểm tra:

  1. Vào Settings → Plugin Manager → xác nhận plugin-verification đang active
  2. Đảm bảo đã có ít nhất 1 verifier được cấu hình (SMS OTP hoặc Email OTP)

Bước 2: Kích hoạt plugin 2FA

Vào Settings → Plugin Manager, tìm plugin-two-factor-authentication và bật.

Hoặc kích hoạt qua dòng lệnh:

bash
yarn pm enable plugin-two-factor-authentication

Khi cài đặt lần đầu, plugin tạo record mặc định trong twoFactorAuthSettings với:

json
{
  "enforce": false,
  "verifiers": []
}

Bước 3: Cấu hình 2FA

Vào Settings → Authentication → Two-Factor Authentication:

  1. Chọn verifiers: Chọn các verifier sẽ được dùng cho 2FA (ví dụ: "SMS OTP", "Email OTP")
  2. Bắt buộc 2FA: Bật enforce nếu muốn tất cả user phải hoàn thành 2FA khi đăng nhập

Bước 4: Người dùng liên kết verifier

Khi 2FA được bật (enforce), quy trình đăng nhập thay đổi:

Các bước chi tiết cho user:

  1. Đăng nhập bằng email + password → nhận 2FA token tạm thời
  2. Hệ thống hiển thị danh sách verifiers khả dụng
  3. Nếu chưa liên kết → nhập thông tin (số điện thoại / email) → nhận mã → xác minh → liên kết hoàn tất
  4. Nếu đã liên kết → nhập mã xác minh → đăng nhập thành công

Bước 5: Kiểm tra hoạt động

Sau khi cấu hình, test luồng đăng nhập:

  1. Đăng xuất
  2. Đăng nhập lại bằng email + password
  3. Xác nhận hệ thống yêu cầu nhập mã 2FA
  4. Nhập mã từ SMS / Email → đăng nhập thành công

Lưu ý quan trọng

  • Plugin dùng verification scene '2fa' — chỉ chấp nhận verifier loại sms-otpemail-otp
  • Cấu hình 2FA được cache qua app.cache.wrap(CACHE_KEY) — thay đổi settings sẽ tự động cập nhật cache
  • Khi enforce: true, user không thể bỏ qua 2FA — hệ thống chặn cho đến khi hoàn thành
  • Action bind kiểm tra user đã liên kết verifier chưa — nếu đã có sẽ trả lỗi 400