For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh-tw/docs/web/authentication.md (or send Accept: text/markdown).
身份認證
登入方式、會話與賬戶安全。
建立並驗證真實賬戶
身份驗證意味著證明誰在使用該應用程式。啟動 Postgres 並首先使用資料庫指南執行遷移,然後保持 Web 伺服器執行。開啟http://localhost:3000/auth,選擇電子郵件/密碼註冊,輸入您的姓名、電子郵件和密碼,然後提交。保留 EMAIL_PROVIDER=local 進行第一次測試。
當流程請求電子郵件程式碼時,請在另一個瀏覽器選項卡中開啟 http://localhost:3000/mail-preview,找到該地址的最新訊息並將其程式碼複製回登入表單。如果程式碼過期,請請求新的程式碼。這些訊息保留在本地發件箱中;反覆檢查外部收件箱將找不到它們。登出,然後再次登入以確認資料庫支援的帳戶正常工作。
如果註冊報告資料庫連線或缺少表錯誤,請完成資料庫設定而不是啟用社交登入。 Google、GitHub、Apple、X 和 Microsoft 按鈕需要自己的提供商應用程式和回撥設定;僅在其提供程式指南完成後才啟用它。 Better Auth 是出廠預設引擎,不需要付費身份驗證帳戶即可進行本地電子郵件登入。
選擇啟用的登入方式
基礎包含郵箱/密碼、OTP 與可配置的社交認證。Better Auth 負責身份與會話,應用則組合供應商配置與 OTP 的事務性投遞。
只啟用你已配置的社交供應商。供應商客戶端金鑰與認證金鑰留在服務端。
把身份連線到工作區
已認證的 handler 在訪問工作區記錄之前先解析會話狀態。工作區開通必須保持冪等,使重放生命週期鉤子不會建立重複的歸屬記錄。
驗證會話行為
測試登入、無效或過期 OTP、一次性消費、退出與匿名訪問拒絕。記憶體介面卡測試覆蓋 handler 語義;生產資料庫持久化與真實供應商回撥需要單獨驗收。
安裝與配置
Better Auth 是預設引擎(AUTH_PROVIDER=better-auth);Auth.js 引擎供以它為標準的團隊使用。啟用的方式按提供商宣告:郵箱/密碼、通過事務郵件投遞的一次性程式碼,以及 Google、Apple、GitHub、Microsoft 和 Twitter 的社交登入。
每個社交提供商通過其 AUTH_<PROVIDER>_ENABLED 標誌加上對應的 client id 和 secret 開啟。認證金鑰、提供商金鑰和會話簽名金鑰是僅限伺服器的配置。
AUTH_PROVIDER=better-auth
AUTH_SECRET=generate-a-long-random-value
AUTH_GOOGLE_ENABLED=true
GOOGLE_CLIENT_ID=…
GOOGLE_CLIENT_SECRET=…實現流程
/auth 介面渲染已配置的方式;伺服器在 auth-runtime 中組裝引擎,並在每個受保護邊界解析會話。首次登入成功會以冪等方式為成員開通個人工作區 —— 重複的生命週期鉤子絕不能建立第二條所有權記錄。
賬戶安全位於 /settings/security:密碼修改、活躍會話,以及在構建啟用時的 passkey。將會話恢復、登出吊銷和跨工作區拒絕保持為伺服器強制的行為,而非介面狀態。
驗證與排障
驗證登入、無效和過期的 OTP 程式碼、一次性消費、HTTPS 源上的 passkey 流程、社交回調返回、登出以及匿名拒絕。在測試回撥前註冊每個提供商的重定向 URI,並確認已吊銷的會話無法繼續執行受保護的操作。