NuxtJS 学习记录之 @nuxtjs/auth 中间件服务端失效原因之 https 验证失败

最近在学习体验前后端分离项目(我是 PHPer),服务端渲染的那种,使用的是 NuxtJS。

有用到身份验证。

身份验证扩展使用的是社区提供的 @nuxtjs/auth,但是这过程中出现一个问题--- auth 中间件验证在服务端失效。明明是登录成功的,却不能按照想要的逻辑跳转,而在浏览器中是正常的,上网查询有人也有这种跳转异常的问题,但是发现情况不一样,也就是我没找到和我这个情况类似的问题描述,也可能是我搜索的姿势不正确。

也罢,想想问题应该出在羊身上。

一直以来,我反复的测验调试,认为这个问题是 nuxtjs/auth 的 bug,几乎快要放弃了,但是在体验 demo 的时候,发现一切正常,这才意识到肯定是我哪里姿势不对,于是才冷静下来,寻根问源。

我看着源码,一步一个 console.log(),花了大概一小时,发现问题所在,结果太让我吃惊了,之前网搜调试都不止五小时,我都神经的跟猫聊起这事了。

现在看来,这是一个多么常规的问题,极其的可耻。

找到的错误提示是:unable to verify the first certificate,即 https 签名证书验证不通过。这是在 auth 中间件请求获取用户信息时报的错,我立即将 api 的基础路径改为 http,再测试时,就是正常的效果。

之所以会把 api 的基础路径写成 https,是我从浏览器复制的,我后端用的是 homestaed 环境配置的 laravel 项目,这个自然的有个 https。其实在浏览器里访问时,也有提示说这个证书不安全,但是我并不知道 nodejs 也是会有同样的验证。这里只能小怪 NuxtJS,居然有错不提示,看来还有待改进啊。

这是个小问题引起的大问题,正因为是小问题,所以我才要记录下来,并且今天我也发现,我找 bug 及阅读源码的能力又有所提升,居然可以看得懂大篇幅的 JS 源码啦。

所以说 Practice Make Perfect,虽不能每日精进,成长不仅需要保持好奇,还要刻意练习。毕竟希望都在键盘上,多动手才能丰胸补脑。

本作品采用《CC 协议》,转载必须注明作者和本文链接
? 我的导航网站已经可以公开使用啦:Cootab
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!