我的项目包含自定义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
作为拦截手段,但我希望有一个更优雅的解决方案。
1条答案
按热度按时间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' })