为了账号安全,请及时绑定邮箱和手机立即绑定

关于前后端分离中token验证问题

关于前后端分离中token验证问题

牛魔王的故事 2018-12-20 18:13:37
我现在搭建一个前后端分离的后台管理页面,前端使用Vue全家桶,用vue-router来处理路由事件,后端语言是node.js,框架是express。后端只负责提供api接口,不涉及处理路由方面的事情。所以我想请问一下,既然前后端分离了,后端不处理路由问题,那前端如何保证每一个页面都可以验证用户是否有权限访问该页面。
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

可以看下passport这个库,它里面有各种应对。
另外token最好存在服务器端session,和用户sessionid形成映射.原理基本上是
每次用户加载html就去请求一个api去获取/loginuser 信息,node端一看session里没有token就返回 failed,这样你html页面就弹出login页面。用户登录成功后,获得api access token,这token就和seesionID做一个映射还是存在node这一端,页面还是重定向到index.html,html还是自动请求/loginuser这个时候seesion里已经有token了,就能正常拿着token去call 真正的api了获取user信息了,这样你/loginuser返回就是user信息,你就可以把login的页面关闭了。

补充一下,真实业务api上都要加一到middleware去check请求是否有效,比如header里是否带有tokeny已经token的有效性。另外最好把鉴权模块和业务逻辑分离


查看完整回答
反对 回复 2019-01-17
  • 1 回答
  • 0 关注
  • 888 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信