【问题标题】:I can't access NEXTAUTH_URL since I can't access it with NEXT_PUBLIC我无法访问 NEXTAUTH_URL,因为我无法使用 NEXT_PUBLIC 访问它
【发布时间】:2021-08-10 16:32:29
【问题描述】:

在 NextJS 中,您必须将 NEXT_PUBLIC_ 添加到 env 变量以使它们对浏览器可用,但“next-auth”只接受像 NEXTAUTH_URL 这样的硬编码变量,有没有办法解决这个问题?

【问题讨论】:

    标签: reactjs next.js next-auth


    【解决方案1】:

    NEXT_PUBLIC_ 为前缀的环境变量将内联在应用程序包中。 NEXTAUTH_URL 未在捆绑包中使用。 API 路由使用它来处理重定向 URL。这意味着您必须在 Vercel 中定义它。

    【讨论】:

    • 正在本地主机上运行应用程序,我没有托管它,所以我无法使用 vercel 仪表板添加环境变量
    • 您在.env.local 文件中定义它们,如下所示nextjs.org/docs/basic-features/…
    • 我做到了,我什至尝试使用 next.config.js module export 并在进行更改后重新启动,但仍然不断收到此错误 warnings#nextauth_url NEXTAUTH_URL environment variable not set
    • 更新,通过恢复使用 .env.local 而不是 next.config.js 解决了这个问题。即使next.config.js 与其他环境变量一起使用,它似乎也不适用于NEXTAUTH_URL。这个问题也与NEXT_PUBLIC_ 无关,因为我没有将它添加到NEXTAUTH_URL 并且该应用程序现在正在运行,这是有道理的,因为您实际上不需要将NEXTAUTH_URL 暴露给浏览器
    • @AndrewGillis 是否应该在编译生产时在构建时定义 NEXTAUTH_URL,或者我可以在构建时将其未定义并仅在运行时设置?
    猜你喜欢
    • 1970-01-01
    • 2015-11-20
    • 2014-04-21
    • 2021-10-20
    • 1970-01-01
    • 2021-06-29
    • 2012-01-29
    • 1970-01-01
    • 2015-01-11
    相关资源
    最近更新 更多