B

email-and-password-best-practices

bởi better-auth

email-and-password-best-practices giúp bạn cấu hình đăng nhập email/mật khẩu trong Better Auth, email xác minh, luồng đặt lại mật khẩu, quy tắc mật khẩu, tùy chọn băm và bước migration bắt buộc.

Stars162
Yêu thích0
Bình luận0
Đã thêm30 thg 3, 2026
Danh mụcAccess Control
Lệnh cài đặt
npx skills add https://github.com/better-auth/skills --skill emailandpassword
Điểm tuyển chọn

Skill này đạt 78/100, tức là là một mục phù hợp trong directory cho các agent làm việc với xác thực email/mật khẩu của Better Auth. Repository nêu rõ tình huống kích hoạt, có ví dụ cấu hình cụ thể và quy trình thiết lập dùng được cho xác minh email và đặt lại mật khẩu, nên người dùng thường có thể quyết định cài đặt với mức độ tự tin khá tốt, dù một số chi tiết vận hành vẫn cần dựa vào hiểu biết Better Auth xung quanh.

78/100
Điểm mạnh
  • Khả năng kích hoạt tốt: phần frontmatter nêu rõ login, sign-in, sign-up, xác thực bằng credential và bảo mật mật khẩu với Better Auth.
  • Nội dung quy trình thực tế: Quick Start bao gồm bật email/password, nối handler cho xác minh và đặt lại mật khẩu, chạy migration và kiểm tra hành vi email xác minh.
  • Ví dụ triển khai hữu ích: SKILL.md cung cấp mã cấu hình cụ thể cho `emailVerification.sendVerificationEmail` và giải thích cách `url` và `token` được sử dụng.
Điểm cần lưu ý
  • Việc áp dụng vẫn cần một phần phỏng đoán vì repo chỉ có một file SKILL.md, không có script hỗ trợ, tài liệu tham chiếu hoặc tệp dành riêng cho cài đặt.
  • Các ràng buộc vận hành và tình huống biên chỉ được ghi lại khá sơ lược; các tín hiệu cấu trúc cho thấy không có mục constraints riêng, nên những câu hỏi về policy và failure mode có thể vẫn chưa được giải đáp.
Tổng quan

Tổng quan về skill email-and-password-best-practices

Skill email-and-password-best-practices là hướng dẫn thiết lập Better Auth tập trung cho các nhóm đang triển khai đăng nhập bằng thông tin đăng nhập truyền thống, với những phần bảo mật mà nhiều người thường bỏ sót: xác minh email, đặt lại mật khẩu, chính sách mật khẩu và cấu hình băm mật khẩu. Skill này phù hợp nhất với các lập trình viên đã xác định sẽ dùng Better Auth và cần một lộ trình nhanh, đúng để đưa luồng email/mật khẩu lên mức sẵn sàng production, thay vì đọc một bài giải thích xác thực chung chung.

Skill này giúp bạn làm được gì

Hãy dùng skill này khi công việc thực tế của bạn là hoàn thiện một luồng email/mật khẩu đủ an toàn để có thể phát hành:

  • bật đăng nhập email/mật khẩu trong Better Auth
  • gửi email xác minh
  • yêu cầu xác minh trước khi đăng nhập nếu cần
  • thêm luồng gửi email đặt lại mật khẩu
  • áp dụng quy tắc và kiểm tra hợp lệ cho mật khẩu
  • tinh chỉnh hành vi băm mật khẩu
  • chạy bước migration bắt buộc

Ai nên cài skill này

Skill này đặc biệt phù hợp với:

  • các nhóm phát triển ứng dụng đang thêm đăng nhập bằng username/email vào một dự án Better Auth
  • lập trình viên muốn thay các đoạn auth chắp vá bằng một quy trình thiết lập có thể lặp lại
  • quy trình coding có AI hỗ trợ, nơi bạn muốn agent nhớ đúng tên config và đúng thứ tự thao tác riêng của Better Auth

Skill này sẽ ít hữu ích hơn nếu bạn vẫn đang cân nhắc giữa nhiều nhà cung cấp auth, hoặc nếu ứng dụng của bạn chỉ dùng OAuth/passkeys và không cần mật khẩu.

Vì sao nó tốt hơn một prompt auth chung chung

Một prompt chung có thể chỉ bảo agent “thêm đăng nhập và đặt lại mật khẩu”. Skill này thu hẹp yêu cầu đó thành đúng các điểm cấu hình và thứ tự thiết lập thực tế của Better Auth, bao gồm emailAndPassword: { enabled: true }, emailVerification.sendVerificationEmail, xử lý reset password và npx @better-auth/cli@latest migrate. Nhờ vậy, trường hợp dùng email-and-password-best-practices for Access Control trở nên đáng tin cậy hơn nhiều.

Những điều quan trọng cần kiểm tra trước khi áp dụng

Trước khi cài, hãy rà soát các điểm ra quyết định sau:

  • bạn phải có sẵn, hoặc ít nhất đã lên kế hoạch cho, một hàm gửi email
  • bạn cần quyết định liệu đăng nhập có bắt buộc email đã xác minh hay không
  • bạn nên biết rõ kỳ vọng về chính sách mật khẩu
  • bạn cần có quyền chạy Better Auth migrations
  • bạn nên sẵn sàng chỉnh config auth phía server, không chỉ form ở frontend

Cách dùng skill email-and-password-best-practices

Bối cảnh cài đặt cho skill email-and-password-best-practices

Cài skill từ Better Auth skills repository:

npx skills add https://github.com/better-auth/skills --skill emailAndPassword

Sau đó gọi skill này trong một phiên AI coding khi bạn muốn cấu hình, rà soát hoặc cải thiện các luồng xác thực bằng thông tin đăng nhập của Better Auth.

Hãy đọc file này trước

Bắt đầu với:

  • better-auth/emailAndPassword/SKILL.md

Phần repository này khá gọn, nên giá trị chính nằm ở việc áp dụng hướng dẫn cho đúng với codebase của bạn, hơn là đi khám phá một cây tài liệu hỗ trợ lớn.

Skill cần bạn cung cấp những đầu vào gì

Hãy đưa cho agent những ngữ cảnh mà repository không thể tự suy ra:

  • đường dẫn tới file config Better Auth của bạn
  • liệu email/password đã được bật một phần hay chưa
  • nhà cung cấp gửi email hoặc hàm helper gửi email bạn đang dùng
  • xác minh email là tùy chọn hay bắt buộc
  • UX reset password bạn muốn
  • mọi yêu cầu về độ dài hoặc độ phức tạp của mật khẩu
  • liệu bạn có cần cấu hình băm tùy chỉnh không

Nếu thiếu các thông tin này, agent vẫn có thể dựng khung, nhưng đầu ra sẽ khá chung chung.

Biến một mục tiêu còn mơ hồ thành prompt mạnh

Prompt yếu:

  • “Set up auth with Better Auth.”

Prompt tốt hơn:

  • “Use the email-and-password-best-practices skill to configure Better Auth email/password login in src/lib/auth.ts, require email verification before sign-in, add sendVerificationEmail using our existing sendEmail() helper, implement reset-password email sending, and tell me what migration command and test steps I need.”

Prompt này hiệu quả hơn vì nó cung cấp vị trí file, chính sách cần áp dụng, primitive gửi mail sẵn có và các đầu ra mong muốn.

Quy trình thiết lập được khuyến nghị

Một trình tự thực tế là:

  1. Bật email/password trong Better Auth.
  2. Thêm phần gửi email xác minh.
  3. Quyết định có bắt buộc xác minh trước khi đăng nhập hay không.
  4. Thêm luồng gửi email reset password.
  5. Áp dụng các quy tắc kiểm tra mật khẩu.
  6. Chỉ xem xét cấu hình băm nếu bạn thực sự có lý do để tùy biến.
  7. Chạy migration.
  8. Kiểm thử toàn bộ luồng đăng ký, xác minh, đăng nhập và đặt lại mật khẩu từ đầu đến cuối.

Thứ tự này giúp giảm làm lại và cũng bám sát cách các nhóm thường debug khi rollout auth.

Cấu hình cốt lõi mà skill này xoay quanh

Skill này tập trung vào một vài tính năng chính của Better Auth:

  • emailAndPassword: { enabled: true }
  • emailVerification.sendVerificationEmail
  • emailAndPassword.requireEmailVerification
  • sendResetPassword
  • cấu hình chính sách mật khẩu
  • tùy biến thuật toán băm
  • npx @better-auth/cli@latest migrate

Nếu prompt của bạn không nói rõ cần mục nào trong số này, agent có thể tự chọn mặc định không đúng với ý định của bạn.

Xác minh email là điểm nghẽn chính khi áp dụng

Với đa số nhóm, phần khó nhất không phải là bật password auth mà là triển khai xác minh email một cách an toàn. Skill này hữu ích vì nó nhắc agent rằng sendVerificationEmail nhận { user, url, token }, và url được cung cấp đã chứa sẵn liên kết xác minh. Điều đó giúp tránh việc tự dựng lại link sai khi thực ra đã có một URL đầy đủ để dùng.

Khi nào nên bắt buộc email đã xác minh

Hãy dùng emailAndPassword.requireEmailVerification khi mô hình access control của bạn giả định người dùng phải có danh tính đã được xác nhận trước khi được dùng tài khoản. Hướng dẫn trong repository cũng nêu một hành vi quan trọng: người dùng chưa xác minh sẽ nhận được email xác minh mới khi họ thử đăng nhập. Đây là chi tiết rất thực tế mà nhiều prompt auth chung thường bỏ qua.

Hướng dẫn dùng luồng đặt lại mật khẩu

Nếu ứng dụng của bạn hỗ trợ khôi phục mật khẩu khi người dùng quên, hãy yêu cầu agent nối đầy đủ sendResetPassword và mô tả toàn bộ hành trình người dùng:

  • yêu cầu đặt lại mật khẩu
  • nhận email
  • bấm vào liên kết
  • đặt mật khẩu mới
  • đăng nhập lại

Đừng chỉ yêu cầu “reset password backend”, nếu không bạn rất dễ nhận về một triển khai nửa vời, không có bước gửi email.

Chính sách mật khẩu và kiểm tra ở phía client

Skill này có đề cập đến chính sách mật khẩu, nhưng bạn sẽ có kết quả tốt hơn nếu nói rõ:

  • độ dài tối thiểu
  • có yêu cầu ký tự đặc biệt hay không
  • validation ở frontend có cần phản chiếu đúng quy tắc ở backend hay không
  • có cần trả về thông báo lỗi thân thiện với người dùng hay không

Điều này đặc biệt quan trọng nếu nhóm của bạn muốn hành vi nhất quán giữa các luồng đăng ký, đổi mật khẩu và reset password.

Tùy biến băm không phải lúc nào cũng cần

Lộ trình sử dụng email-and-password-best-practices có bao gồm phần tùy biến băm, nhưng hãy xem đây là yêu cầu nâng cao. Nếu bạn không có lý do về compliance, migration hoặc hiệu năng, hãy yêu cầu agent giữ nguyên các mặc định an toàn và giải thích chúng, thay vì đổi thuật toán một cách không cần thiết.

Checklist kiểm thử thực tế sau khi triển khai

Hãy yêu cầu agent xác minh các tình huống sau:

  • đăng ký người dùng mới thành công
  • email xác minh được gửi đi
  • liên kết xác minh hoạt động
  • đăng nhập của người chưa xác minh bị chặn nếu chính sách yêu cầu
  • lần đăng nhập lặp lại sẽ kích hoạt email xác minh mới khi đúng như mong đợi
  • email reset password được gửi thành công
  • mật khẩu cũ không còn hoạt động sau khi reset
  • validation mật khẩu yếu thất bại rõ ràng, dễ hiểu

Đây chính là điểm email-and-password-best-practices guide vượt trội hơn việc chỉ lướt qua repo: nó giúp bạn kiểm thử hành vi thực tế, chứ không chỉ dán config.

Câu hỏi thường gặp về skill email-and-password-best-practices

Skill này chỉ dành cho Better Auth thôi phải không?

Đúng. Đây là skill chuyên biệt cho cấu hình và luồng của Better Auth. Nếu bạn không dùng Better Auth, tên config và bước migration sẽ không thể áp dụng trực tiếp.

Skill email-and-password-best-practices có thân thiện với người mới không?

Phần lớn là có, nếu bạn đã biết config auth của mình nằm ở đâu và ứng dụng của bạn gửi email theo cách nào. Người mới hoàn toàn vẫn có thể cần trợ giúp riêng về SMTP, transactional email provider, route wiring và form ở frontend.

Nó có tự cài gì cho bạn không?

Không. Skill này là phần hướng dẫn cho quy trình làm việc với AI. Dự án của bạn vẫn phải có Better Auth được thiết lập, có tích hợp email provider mà bạn dùng, và phải tự chạy lệnh migration trong môi trường của bạn.

Khi nào tôi không nên dùng skill này?

Hãy bỏ qua nếu:

  • bạn chỉ cần OAuth hoặc passkeys
  • bạn đang so sánh các nền tảng auth chứ chưa triển khai Better Auth
  • ứng dụng của bạn cấm hoàn toàn đăng nhập bằng mật khẩu
  • bạn cần một buổi rà soát kiến trúc bảo mật tổng quát thay vì một tác vụ cấu hình Better Auth

Nó khác gì so với việc hỏi một LLM trợ giúp về auth?

Skill email-and-password-best-practices hẹp hơn nhưng hành động được hơn. Nó định hướng mô hình vào đúng bề mặt cấu hình thực của Better Auth và các chi tiết vận hành quanh luồng xác minh và reset password, nhờ đó giảm API bịa đặt và các bước bị thiếu.

Nó có hữu ích cho email-and-password-best-practices for Access Control không?

Có, đặc biệt khi access control của bạn phụ thuộc vào danh tính đã được xác minh trước khi cấp quyền truy cập ứng dụng. Yêu cầu chặn đăng nhập với tài khoản chưa xác minh là một trong những quyết định chính sách quan trọng nhất mà skill này giúp triển khai đúng.

Cách cải thiện skill email-and-password-best-practices

Cung cấp đúng file auth và mail helper cho skill

Cách nhanh nhất để nâng chất lượng đầu ra là chỉ cho agent đúng file cần sửa và utility gửi email hiện có. Ví dụ:

  • “Edit src/lib/auth.ts and use lib/email/sendEmail.ts.”

Việc này loại bỏ phỏng đoán và giảm các lớp abstraction tưởng tượng.

Nêu rõ chính sách xác minh ngay từ đầu

Trong các tác vụ email-and-password-best-practices, chỉ thiếu một câu cũng đủ gây ra rất nhiều vòng sửa:

  • “Users must verify email before first sign-in.”

hoặc

  • “Users can sign in before verification, but we still send verification email.”

Nếu bạn không nói rõ, triển khai có thể vẫn an toàn nhưng lại sai với sản phẩm của bạn.

Hãy yêu cầu đầu ra cho toàn bộ luồng, không chỉ config

Một yêu cầu mạnh hơn là:

  • “Configure the backend and show the frontend/user flow, email triggers, migration command, and manual test plan.”

Cách này tránh tình trạng đầu ra bị thiếu: auth server đã được cấu hình nhưng không ai biết người dùng sẽ hoàn tất luồng ra sao.

Để ý các lỗi thường gặp

Các vấn đề phổ biến khi dùng skill này gồm có:

  • quên triển khai phần gửi email thực tế
  • tự tạo link xác minh trong khi url đã được cung cấp sẵn
  • bật xác minh nhưng không quyết định rõ có phải chặn đăng nhập hay không
  • nối phần gửi reset-password nhưng không kiểm thử callback path
  • thêm quy tắc mật khẩu ở frontend nhưng lại không khớp với validation ở backend

Cung cấp chi tiết chính sách để xử lý mật khẩu tốt hơn

Nếu độ mạnh mật khẩu là vấn đề quan trọng trong môi trường của bạn, hãy nêu yêu cầu thật cụ thể. “Use strong passwords” là quá mơ hồ. Prompt tốt hơn nên nói rõ độ dài, các mẫu bị cấm, kỳ vọng khi reset, và liệu người dùng hiện tại có phải tuân thủ ngay hay chỉ khi đổi/reset mật khẩu.

Yêu cầu agent giải thích tradeoff, không chỉ vá code

Một câu bổ sung tốt cho prompt:

  • “Explain why you kept defaults or changed hashing settings, and note any security/usability tradeoffs.”

Điều này giúp việc review dễ hơn và giúp nhóm tránh các thay đổi bảo mật kiểu cargo-cult.

Lặp thêm một vòng sau bản nháp đầu tiên với các ca lỗi

Sau khi agent đưa ra bản triển khai ban đầu, hãy cải thiện tiếp bằng các yêu cầu như:

  • “Now review this for unverified-user edge cases.”
  • “Add manual test cases for expired reset links.”
  • “Check whether password validation is consistent between sign-up and reset.”

Vòng thứ hai này thường là lúc quyết định cài email-and-password-best-practices thực sự phát huy giá trị, vì skill giúp quá trình lặp bám sát hành vi thực của Better Auth thay vì trôi sang lời khuyên auth chung chung.

Đánh giá & nhận xét

Chưa có đánh giá nào
Chia sẻ nhận xét của bạn
Đăng nhập để chấm điểm và để lại nhận xét cho skill này.
G
0/10000
Nhận xét mới nhất
Đang lưu...