跳到主要内容

认证

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 的代码。该代码提供了 GithubGoogle用户名/密码 的默认登录方式。

如果在调试过程中遇到一些问题,你可以看看这篇文章如何在第三方平台设置回调 URL

登录密码和恢复

OneDayBuild 也为你提供了使用用户名和密码登录的选项。相应的文件是:

  • 用户注册app/[locale]/(site)/(auth)/register
  • 用户登录app/[locale]/(site)/(auth)/login
  • 密码恢复app/[locale]/(site)/(auth)/change

你可以在上述路径找到这些功能的代码,并根据你的平台风格调整页面。值得注意的是,我们还为你提供了完整的密码恢复代码,包括:

  • 用户输入注册时使用的邮箱;
  • 如果邮箱存在,系统向邮箱发送 4 位验证码邮件配置
  • 用户打开邮件,将验证码输入系统;
  • 验证成功,用户输入新密码;
  • 修改完成;

这个过程也可以是邮箱的验证过程,所以是基础平台的必要功能。