【发布时间】:2021-09-16 20:57:23
【问题描述】:
$auth.loggedin 如果用户已通过身份验证,则返回 true,否则返回 false,但 Nuxt 究竟检查什么以将此标志设置为 true 或 false?
Nuxt 如何判断用户是否经过身份验证?
据我了解,它会在发送登录请求后检查来自后端的响应。
但是如果响应只包含用户信息和一个令牌,Nuxt 怎么知道这个用户是经过身份验证的呢?
【问题讨论】:
标签: nuxt.js
$auth.loggedin 如果用户已通过身份验证,则返回 true,否则返回 false,但 Nuxt 究竟检查什么以将此标志设置为 true 或 false?
Nuxt 如何判断用户是否经过身份验证?
据我了解,它会在发送登录请求后检查来自后端的响应。
但是如果响应只包含用户信息和一个令牌,Nuxt 怎么知道这个用户是经过身份验证的呢?
【问题讨论】:
标签: nuxt.js
这个答案可能会有所帮助:https://stackoverflow.com/a/68081536/8816585
基本上,您可以通过多种方式使用auth module 进行身份验证。这完全取决于您的方案配置:https://auth.nuxtjs.org/guide/scheme
您可以使用您的凭据在后端 POST 并查看它是否返回一个积极的访问授权响应,然后使用这些电子邮件 + 密码组合更新 Vuex。或者你也可以直接获取它们,如果它包含在后端响应中。
所以,基本上模块会查看后端是否有成功响应,如果有,$auth.loggedin 为真,中间件让你通过。
【讨论】:
/login 路径。如果您继续在 SPA 中移动,您的状态将保持不变。只有检查令牌过期才有用。如果你想更加安全,你也可以有一个中间件来查看你是否有 4XX 错误,然后再次将用户踢回/login。