node.js Token设计 验证

作者: slimsallen | 来源:发表于2017-02-06 17:44 被阅读1181次

关于node token设计,这两天找了不少文章,都写的不错,先贴出地址,有兴趣的朋友可以去看看。
在Nodejs中使用JSON WEB Tokens
Nodejs RESTFul架构实践之api篇

正所谓前人栽树,后人乘凉,看了之后自己好像也有一些思路了,简单的记录分享一下。
前端就不说了,因为我是ios,用的windows没法撸代码 所以就看一下后端的实现。
我们需要用到jsonwebtokenjwt-simple,大家可以自行学习,用npm安装即可。
当用户登录的时候,我们需要在服务端生成token 返回给前端,如:

var jwt = require('jsonwebtoken');
//假设这是我们的secret
var secret = 'SALLEN-JWT';
//这是我们数据和生成方式
var token = jwt.sign({name:'sallen'},secret);
//这是我们数据和生成方式  expiresIn参数 代表token保存时间
var older_token = jwt.sign({
name:'sallen',
},secret,{expiresIn:'1h'});

当客户端拿到token 并在下次请求的时候 发给我们 我们需要验证,如;

jwt.verify(string, secret, function(err, decoded) {
//err
// decoded.name
});

或者
 try {
   var decoded = jwt.verify(token, secret');
 } catch(err) {
   // err
 }

简单的思路就是这样,但是处理并不完整,稍后会把前端 以及后端的一个完整处理附上。
习惯了交流记录,继续学习中。

相关文章

网友评论

  • 麦金:验证拿到decoded之后怎么做呢,decoded是什么东西。。
    麦金:@音乐君 回答好及时,真给力,decoded照你这么说,就是之前放进去的payload部分咯
    slimsallen:decoded就是解密
    slimsallen:我是在登录时候 根据userName password id id就是注册时数据库的id 生成的token 然后客户端请求的时候 我验证token decoded.id 是否在数据库

本文标题:node.js Token设计 验证

本文链接:https://www.haomeiwen.com/subject/hbsuittx.html