Las*_*eed 17 next.js next-auth
我有一个使用 Next Auth 的 Next js 应用程序。在开发过程中,我不断收到警告,要求我设置秘密,但我不知道应该在哪里设置。
根据此参考资料,我发现我只需要运行即可openssl rand -base64 32获取秘密,但我不知道将其放在哪里
Las*_*eed 19
在 [...nextauth].js 外部提供程序和回调中,您可以设置秘密及其值。由于建议将这些值存储在环境变量中,因此您可以执行以下操作
export default NextAuth({
providers: [
],
callbacks: {
},
secret: process.env.JWT_SECRET,
});
Run Code Online (Sandbox Code Playgroud)
小智 13
openssl rand -base64 32您应该在 Linux 终端中插入命令,然后它将生成一个令牌,以便在变量名为 的 .env 文件上使用它NEXTAUTH_SECRET=token_generated。因此该错误[next-auth][warn][NO_SECRET]将不会再次显示在控制台上。
小智 9
就我而言,我必须升级next并next-auth模块到最新版本。
next@12.1.6并next-auth@4.5.0为我工作。
NEXTAUTH_SECRET=secret string here
Run Code Online (Sandbox Code Playgroud)
您可以在命令提示符或 Windows Power shell 中使用此命令行生成密钥openssl rand -base64 32。
并在next-auth配置[...nextauth].ts文件中
export default NextAuth({
providers: [
],
callbacks: {
},
secret: process.env.NEXTAUTH_SECRET,
});
Run Code Online (Sandbox Code Playgroud)
据说如果 Secret 没有在 中定义[...nextauth].ts,它会NEXTAUTH_SECRET从加载env,但我添加了它,并且像魅力一样工作。:)
| 归档时间: |
|
| 查看次数: |
35018 次 |
| 最近记录: |