项目中遇到的问题

Node.js服务端渲染与Token管理
本文探讨了使用Node.js、Express和EJS进行服务端渲染的技术细节,及其对SEO的益处。同时,深入分析了用户登录后Token的存储方案,包括利用Node内存或Cookie实现跨请求认证。
官网:技术栈:node+express+ejs
对node服务端渲染的理解

服务端渲染意味着浏览器发出的请求都是通过后端完成数据和页面的整合,然后将完整的html返给浏览器,有利于seo。

项目中是以node作为中间层,将从java后端请求到的数据,在node层做好服务端渲染后,给到浏览器。

其实也就是浏览器请求的url,到达node的路由层,路由层触发node请求转发到java端获取到数据,在node端将数据注入到ejs的模板,然后将完整的html返回给浏览器。

用户登录后的token如何存放?

注册,登录不需要在请求成功后渲染页面,所以不需要通过node做转发请求,直接使用ajax请求java后台即可完成。

问题:

但用户登录后的token需要在之后的每一次的接口请求中都有,就出现了token如何存放?一开始将token存储在localstorage中,但发现其余需要node转发的请求,在node端无法获取到存储在window对象中的localstorage。

解决方案:

1.将登录也做node请求转发,就可以将token的信息存储在node内存中,其余需要node转发的请求,在node端就可以拿到存储的token,但需要注意存储在node端,意味着每一个登录用户的token都得是有唯一标识的,不然会被覆盖,所以可以将token存储在node 的session中

2.将token直接存储在浏览器端的cookie中,每次请求header中会自动将cookie信息带上,在node转发请求时可以直接在router的mreq中获取到

转载于:https://www.cnblogs.com/buerBlog/p/11003308.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值