【发布时间】:2020-08-27 12:30:54
【问题描述】:
我想了解 nuxt-auth 是否使用 serverMiddleware,如果没有,我该如何实现。我想让我的管理面板真正安全,我的后端安全但是即使有人设法克服前端的身份验证中间件,这也不会那么困难(如果身份验证模块使用客户端中间件),我不希望 nuxt 为他/她提供布局和所有页面,即使我知道他/她将无法做任何事情,因为我的支持路线需要令牌验证和帐户数据。如果可以,请提供有关该主题的一些信息。谢谢!!!
【问题讨论】:
我想了解 nuxt-auth 是否使用 serverMiddleware,如果没有,我该如何实现。我想让我的管理面板真正安全,我的后端安全但是即使有人设法克服前端的身份验证中间件,这也不会那么困难(如果身份验证模块使用客户端中间件),我不希望 nuxt 为他/她提供布局和所有页面,即使我知道他/她将无法做任何事情,因为我的支持路线需要令牌验证和帐户数据。如果可以,请提供有关该主题的一些信息。谢谢!!!
【问题讨论】:
所以简而言之,@nuxtjs/auth 插件提供的中间件不能作为serverMiddleware,只能作为普通的中间件使用。
但这并不意味着它不安全,正常的中间件实际上会在页面呈现之前在服务器端和客户端执行,所以如果你想执行一个中间件,如果用户没有登录就会抛出 404您也可以在普通中间件中执行此操作,serverMiddleware 的功能实际上是有限的,您无法访问商店或任何客户端信息,因为您只能获取 (req,res, next) 作为参数,并且由于存储了身份验证在 store 和 cookies 中,你不能让它只在 Node.js 中工作。这是您可以使用 serverMiddleware 的一个很好的例子:https://jackwhiting.co.uk/posts/handling-redirects-in-nuxtjs-through-middlware/
如果你在普通中间件中 console.log 一些东西,你应该能够在你的开发者控制台和运行 npm run dev 的 bash 中看到它,这意味着首先服务器执行它,然后客户端也执行。
【讨论】: