nodejs 服务端token 高效缓存验证
2024-01-10 12:30:28
在前后端分离开发过程中,经常涉及权限验证的问题,一般都是采用由服务端根据前端传递的用户名和密码,验证成功后生成token,然后前端在访问服务端接口时,再附带token访问。
如果服务端高频次的解析token,进行内容验证,则会大大降低接口性能,而采用内存或者redis进行合法的token缓存,通过字符匹配进行验证,可以大幅提高效率,同时控制token缓存周期和缓存数量,按天进行更新,减少数据缓存量。
以下为nodejs实现的核心代码,token生成和验证过程,需要自己定义。
//以当天为有效期,缓存合法的token,避免重复解密计算
var cacheToken = {};
function TokenToID(_token) {
let _rt = {success:false,msg:""};
var _dt = moment(Date.now()).format('YYYY-MM-DD');
if(cacheToken[_dt]&&(cacheToken[_dt].length<10000)){
let _item = cacheToken[_dt].find(obj=>obj.token==_token);
if(_item&&_item.id){
_rt = {success:true,msg:_item.id};
}else{
let tu = new TokenUtil(_token);
let _res = tu.verifyToken();
文章来源:https://blog.csdn.net/thor027/article/details/135454468
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!