首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在next-auth页面中进行自定义电子邮件签名时找不到"next-auth/react“模块。

在next-auth页面中进行自定义电子邮件签名时找不到"next-auth/react“模块。
EN

Stack Overflow用户
提问于 2021-09-07 12:37:34
回答 3查看 10.7K关注 0票数 10

我正在为身份验证部分使用NextJs应用程序。电子邮件登录成功地实现了使用next-auth自己的默认页面。

但是现在我想在页面上有一个定制的标志。为此,我遵循了文档,并在pages: { signIn: '/auth/signin' }文件中添加了pages: { signIn: '/auth/signin' }。然后,我在pages/auth/signin.js中添加了给定的电子邮件登录代码。但是在运行yarn dev时,我得到这个模块没有找到错误:

代码语言:javascript
复制
error - ./pages/api/auth/signin.js:1:0
Module not found: Package path ./react is not exported from package C:\...\node_modules\next-auth (see exports field in C:\...\node_modules\next-auth\package.json)
> 1 | import { getCsrfToken } from "next-auth/react"
  2 | 
  3 | export default function SignIn({ csrfToken }) {
  4 |   return (

Import trace for requested module:

https://nextjs.org/docs/messages/module-not-found

我在npm或纱线网站上找不到任何名为“next/react”的模块。即使在node_modules中的下一个文件夹中,也没有“react”命名的文件.

我怎么才能解决这个问题?我在这里做错什么了吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-10-02 10:25:03

我也面临着同样的问题,并意识到这些文档是为使用v4next-auth/react使用的。

您可能在v3上使用next-auth/client

要使用beta版本,请执行以下操作:

代码语言:javascript
复制
➜ npm i next-auth@beta
票数 22
EN

Stack Overflow用户

发布于 2021-09-07 14:04:06

我认为应该从client进口,而不是反应。

试试这个:import { getCsrfToken } from "next-auth/client"

另外,

(只是共享另一个解决方案),您不需要在下一个月份定义自定义页面。您可以有自己的登录页面,只需调用next-auth的signin方法,方法是传递emailgoogle之类的类型。

如果是电子邮件,那就把电子邮件也传递出去。例:

代码语言:javascript
复制
const handleSubmit = (event) => {
    event.preventDefault();
    signIn("email", { email, callbackUrl: `${process.env.VERCEL_URL}/` });
};
票数 5
EN

Stack Overflow用户

发布于 2022-01-09 05:33:20

现在可以运行npm install next-authyarn add next-auth。这将将next-auth的版本更新为您导入SessionProvider的版本4,如下所示(在_app.tsx中):

import { SessionProvider } from "next-auth/react"

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69088378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档