如何在Nuxt路由器中间件中添加重定向



我创建了一个中间件来检查新用户电子邮件是否已验证middleware/verify_email.js:

export default function (context) {
if (context.$auth.loggedIn && !context.$auth.user.email_verified_at) {
console.log('logged in with email not verified');
return context.redirect('/auth/verify');
}
}

然后,我在nuxt.config.js:中全局设置了这个中间件

router: {
middleware: ['auth', 'verify_email']
},

但我似乎得到了一个无限循环,页面没有响应。当我评论重定向行时,它会再次做出响应。

NavigationDuplicated:避免了对当前位置的冗余导航:"auth/verify";。

我可能需要为页面auth/verify的中间件添加一个异常,但我不知道如何添加。

你知道我该怎么解决这个问题吗?

我已经在Nuxt.js 中做了类似的身份验证中间件

如果您在'/auth/verify'路由上,则必须跳过中间件,如下所示:

export default function (context) {
if (context.route.name === "auth-verify")
// skip middleware
return
}
if (context.$auth.loggedIn && !context.$auth.user.email_verified_at) {
console.log('logged in with email not verified');
return context.redirect('/auth/verify');
}
}

最新更新