Authentication & Onboarding
Tổng hợp toàn bộ luồng truy cập của người dùng: đăng ký bằng email, OTP xác minh, đăng nhập, OAuth, onboarding sau lần vào đầu tiên, và các lưu ý bảo mật/đa ngôn ngữ liên quan.
Email + password
App hỗ trợ đăng ký và đăng nhập nội bộ với flow xác minh email rõ ràng, thay vì coi tài khoản local là “hạng hai” so với social login.
OTP xác minh
Người dùng mới phải xác minh email bằng mã OTP trước khi đi tiếp. Điều này giảm tài khoản rác và giúp luồng mời/invite đáng tin hơn.
Social login + onboarding
Google/GitHub có thể đưa người dùng vào app nhanh hơn, nhưng app vẫn giữ bước onboarding để quyết định người dùng nên vào workspace chính hay hoàn tất thiết lập ban đầu trước.
Luồng đăng ký và xác minh email
Đăng ký thành công nhưng chưa vào app ngay
Sau khi đăng ký, app có thể trả trạng thái “unverified” để ép đi qua bước OTP. Đây là hành vi chủ động, không phải lỗi.
Resend OTP là đường lui hợp lệ
Người dùng có thể yêu cầu gửi lại mã mà không phải tạo tài khoản lại từ đầu. Điều này đặc biệt quan trọng trong môi trường email chậm hoặc mail vào spam.
Google, GitHub, và callback flows
Điểm cần nhớ khi cấu hình callback URL
Session, onboarding, và trạng thái người dùng
Token chỉ là điểm bắt đầu
Sau khi login thành công, app còn nạp dữ liệu người dùng và trạng thái quan trọng khác như connections để người dùng vào workspace với ngữ cảnh hoàn chỉnh hơn.
Onboarding tách riêng khỏi auth
Đăng nhập thành công không đồng nghĩa người dùng đã sẵn sàng vào trang chính. Nếu `isOnboarded` chưa hoàn tất, app điều hướng sang onboarding để hoàn thành bước thiết lập ban đầu.
Đa ngôn ngữ và email hệ thống
Biến môi trường auth thường phải kiểm tra
# Bảo mật cốt lõi
JWT_SECRET=replace-with-a-random-secret-at-least-32-bytes-long
REFRESH_TOKEN_SECRET=another-very-long-secret
ENCRYPTION_KEY=12345678901234567890123456789012
# OAuth providers
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
GOOGLE_CALLBACK_URL=http://localhost:3001/api/auth/google/callback
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
GITHUB_CALLBACK_URL=http://localhost:3001/api/auth/github/callback
# Mail dùng cho OTP / reset / verify
MAIL_USER=your-email@example.com
MAIL_PASS=your-provider-key
Auth là lớp cực nhạy cảm: callback URL sai, JWT secret yếu, hoặc mail config thiếu đều có thể biến trải nghiệm người dùng thành “đăng ký được nhưng không vào được app”. Khi deploy thật, hãy verify trọn vẹn cả local auth lẫn social auth bằng end-to-end flow.
Sẵn sàng khám phá dữ liệu?
Tham gia cộng đồng trên GitHub để đóng góp cho IDE cơ sở dữ liệu địa phương thông minh nhất.
Mở Ứng dụng