Auth
Mkdirs 使用 Auth.js v5 进行身份认证,支持邮箱+密码、GitHub、Google 三种认证方式。
配置
-
生成
AUTH_SECRET
变量AUTH_SECRET
是一个随机值,您可以通过运行以下命令生成一个:然后将它设置到
.env
文件中。 -
[可选] 获取 GitHub 客户端变量
如果您想使用 GitHub 作为 OAuth 提供商,您需要更新
AUTH_GITHUB_ID
和AUTH_GITHUB_SECRET
变量。按照 这里 的步骤,从 GitHub Developer Settings上,获取
client_id
和client_secret
。对于回调 URL,在线上环境下,它是
https://your-domain.com/api/auth/callback/github
,在本地开发环境下,它是http://localhost:3000/api/auth/callback/github
。 -
[可选] 获取 Google 客户端变量
如果您想使用 Google 作为 OAuth 提供商,您需要更新
AUTH_GOOGLE_ID
和AUTH_GOOGLE_SECRET
变量。您可以从 Google Cloud Console 获取
client_id
和client_secret
。对于回调 URL,在线上环境下,它是
https://your-domain.com/api/auth/callback/google
,在本地开发环境下,它是http://localhost:3000/api/auth/callback/google
。
特别注意
-
请注意,环境变量在开发环境和生产环境中是不同的,请确保为生产环境和开发环境创建两个不同的 OAuth 应用程序。
-
如果您仍然遇到身份验证问题,例如
redirect_uri_mismatch
或其他问题,您可以尝试将以下环境变量添加到.env
文件中,这2个环境变量一般仅在生产环境中设置即可。
视频教程
如果您对 Next Auth V5 感兴趣,可以参考以下视频教程,它是一个更高级更全面的 Next Auth V5 指南,比官方文档好得多。