next.js 是否可以绕过电子邮件提供商的verifyRequest页面?

guykilcj  于 2023-05-17  发布在  其他
关注(0)|答案(1)|浏览(112)

我的项目包含自定义verifyRequest页面的next-auth页面配置,其中包括:

pages: {
    error: "/auth/error-page",
    signIn: "/auth/sign-in",
    verifyRequest: "/auth/check-email",
  },

我正在重新设计注册,在SPA中包括一个“验证请求页面”,因此完全不需要verifyRequest
在推出新的重新设计时,我希望为旧的注册工作流保留verifyRequest
但是,这两种设计都是通过在客户端使用next-auth的signIn函数来实现的,该函数默认情况下会尝试重定向到已配置的verifyRequest
有没有办法禁用verifyRequest或拦截signIn试图调用的重定向?
到目前为止,我一直使用window.onbeforeunload作为拦截手段,但我希望有一个更优雅的解决方案。

lymgl2op

lymgl2op1#

根据文件:https://next-auth.js.org/getting-started/client#using-the-redirect-false-option
在某些情况下,您可能希望在同一页面上处理登录响应并禁用默认重定向。例如,如果发生错误(例如用户提供了错误的凭据),您可能希望在同一页上处理该错误。为此,您可以传递redirect:第二个参数对象中的false。
例如
signIn('credentials', { redirect: false, password: 'password' })signIn('email', { redirect: false, email: 'bill@fillmurray.com' })

相关问题