认证
OneDay.Build
使用 NextAuth.js 进行用户认证。以下是配置方法:
设置环境变量
在 .env
文件中,有一个专门用于设置环境变量的部分。
# ===============================================================
# Auth: https://docs.oneday.build/docs/features/Auth
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SECRET = ''
SECRET
可以通过在命令行中输入以下命令,并使用返回的值来设置。
openssl rand -base64 32
OAuth
你的平台也可以使用第三方平台账号登录,比如 Google 或 Github。你可以点击这里查看 NextAuth 支持的平台列表以及如何获取每个平台的 Client ID 和 SECRET。
例如,对于 Google OAuth,点击这里查看文档。
将从 Google 获取的信息填入 .env
文件中。
# ===============================================================
# Auth: https://docs.oneday.build/docs/features/Auth
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SECRET = ''
GOOGLE_CLIENT_ID =
GOOGLE_CLIENT_SECRET =
在你的平台代码中,你可以在 app/api/auth/[...nextauth]/route.jsx
找到配置文件。从那里复制 OAuth 的代码。该代码提供了 Github
、Google
和 用户名/密码
的默认登录方式。
如果在调试过程中遇到一些问题,你可以看看这篇文章如何在第三方平台设置回调 URL
登录密码和恢复
OneDayBuild
也为你提供了使用用户名和密码登录的选项。相应的文件是:
- 用户注册:
app/[locale]/(site)/(auth)/register
; - 用户登录:
app/[locale]/(site)/(auth)/login
; - 密码恢复:
app/[locale]/(site)/(auth)/change
;
你可以在上述路径找到这些功能的代码,并根据你的平台风格调整页面。值得注意的是,我们还为你提供了完整的密码恢复代码,包括:
- 用户输入注册时使用的邮箱;
- 如果邮箱存在,系统向邮箱发送 4 位验证码邮件配置;
- 用户打开邮件,将验证码输入系统;
- 验证成功,用户输入新密码;
- 修改完成;
这个过程也可以是邮箱的验证过程,所以是基础平台的必要功能。