Next-Auth 警告问题

发布于 2025-01-10 18:23:48 字数 1040 浏览 3 评论 0 原文

我正在开发 Facebook 克隆代码。 我对 Next.js 很陌生,

它向我抛出一个错误,我不确定它是标准的还是我的代码中的一些错误。

https://next-auth.js.org/warnings#no_secret
[next-auth][warn][NO_SECRET]

谁能解释一下吗?

[...nextauth].js
import NextAuth from "next-auth"
import FacebookProvider from "next-auth/providers/facebook";

export default NextAuth({
    // Configure one or more authentication providers
    providers: [
        FacebookProvider({
            clientId: process.env.FACEBOOK_CLIENT_ID,
            clientSecret: process.env.FACEBOOK_CLIENT_SECRET
        })
    ]
})
import '../styles/globals.css'
import {SessionProvider} from "next-auth/react"

function MyApp({ Component, pageProps }) {
  return (
    <SessionProvider>
      <Component {...pageProps} />
    </SessionProvider>
  
  )}

export default MyApp
FACEBOOK_CLIENT_ID=495472355295570
FACEBOOK_CLIENT_SECRET=secret is from facebook for developers
NEXTAUTH_URL=http://localhost:3000```

I'm working on a Facebook clone code along.
I am pretty new to Next.js

it throws an error at me which I'm not sure if it is standard or some bug in my code.

https://next-auth.js.org/warnings#no_secret
[next-auth][warn][NO_SECRET]

Can anyone explain it please ?

[...nextauth].js
import NextAuth from "next-auth"
import FacebookProvider from "next-auth/providers/facebook";

export default NextAuth({
    // Configure one or more authentication providers
    providers: [
        FacebookProvider({
            clientId: process.env.FACEBOOK_CLIENT_ID,
            clientSecret: process.env.FACEBOOK_CLIENT_SECRET
        })
    ]
})
import '../styles/globals.css'
import {SessionProvider} from "next-auth/react"

function MyApp({ Component, pageProps }) {
  return (
    <SessionProvider>
      <Component {...pageProps} />
    </SessionProvider>
  
  )}

export default MyApp
FACEBOOK_CLIENT_ID=495472355295570
FACEBOOK_CLIENT_SECRET=secret is from facebook for developers
NEXTAUTH_URL=http://localhost:3000```

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

平安喜乐 2025-01-17 18:23:48

NEXTAUTH_URL 是您网站的规范 URL。

对于开发,NEXTAUTH_URL 类似于

NEXTAUTH_URL=http://localhost:3000/

对于生产,NEXTAUTH_URL 类似于

NEXTAUTH_URL=http://officialrajdeepsingh.dev

了解有关 NEXTAUTH_URL 详细信息的更多信息文档数量
https://next-auth.js.org/configuration/options

NEXTAUTH_URL is the canonical URL of your site.

for development, NEXTAUTH_URL looks like

NEXTAUTH_URL=http://localhost:3000/

for production, NEXTAUTH_URL looks like

NEXTAUTH_URL=http://officialrajdeepsingh.dev

Read more about NEXTAUTH_URL details of docs
https://next-auth.js.org/configuration/options

棒棒糖 2025-01-17 18:23:48

对于您的生产阶段,例如,假设您正在 Vercel 上进行部署。
您需要应用程序的密钥。
进一步阅读。 缺少什么秘密什么是秘密

要修复:

  1. 您需要应用程序的秘密,可以通过以下方式生成这来自 varcel

  2. 生成您在 .env.local 中设置 NEXTAUTH_SECRET ,例如

    NEXTAUTH_SECRET=af017d04a8083251abdebb81b1fbb498

  3. 您将机密添加到文件 [...nextauth].js 中,如下所示(process. env.NEXTAUTH_SECRET),因为您不想公开密钥。

    <代码>...

    导出默认NextAuth({

    <代码> ...

    提供商:[...],

    秘密:process.env.NEXTAUTH_SECRET,

    <代码> ...

    <代码>})

  4. 在 vercel 项目中添加您的密钥 像这样

就这样,问题应该消失了。除非您部署在其他平台上,否则配置可能会有所不同。

For your production phase, e.g. let's say your're deploying on Vercel.
You need your app's secret key.
Further readings. what is missings secret and what is secret

To fix:

  1. You need your application's secret which can be generated via this like by varcel

  2. You set NEXTAUTH_SECRET in your .env.local like

    NEXTAUTH_SECRET=af017d04a8083251abdebb81b1fbb498

  3. You add your secret to the file [...nextauth].js like this(process.env.NEXTAUTH_SECRET) because you don't want to expose the key.

    ...

    export default NextAuth({

    ...

    providers: [...],

    secret: process.env.NEXTAUTH_SECRET,

    ...

    })

  4. You add your secret on your vercel project like this.

That's all, the problem should be gone. Unless you deploy on other platform, the configuration might be different.

牵强ㄟ 2025-01-17 18:23:48

试试这个:

[...nextauth].js
import NextAuth from "next-auth"
import FacebookProvider from "next-auth/providers/facebook";

export default NextAuth({
    // Configure one or more authentication providers
    providers: [
        FacebookProvider({
            clientId: process.env.FACEBOOK_CLIENT_ID,
            clientSecret: process.env.FACEBOOK_CLIENT_SECRET
        })
    ],
secret: process.env.YOUR_SECRET
})

只需添加秘密就可以了

Try this:

[...nextauth].js
import NextAuth from "next-auth"
import FacebookProvider from "next-auth/providers/facebook";

export default NextAuth({
    // Configure one or more authentication providers
    providers: [
        FacebookProvider({
            clientId: process.env.FACEBOOK_CLIENT_ID,
            clientSecret: process.env.FACEBOOK_CLIENT_SECRET
        })
    ],
secret: process.env.YOUR_SECRET
})

Just add the secret and it should be ok

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文