最近在研究login,如何使用node完成token登录验证,前端是vue。jsonwebtoken是一个跨域的认证标准,它的优点是可以跨域跨平台。并且由于服务端不需要保存token信息,所以开发起来非常简单。第一步是安装:npminstalljsonwebtoken第二步是关键:详细参数可以看这里链接说明jwt.sign(payload,secretOrPrivateKey,[options,callback]),里面有三个参数:1,payload可以是对象、缓冲区或字符串。2.secretOrPrivateKey,该参数为加密密钥,包括HMAC算法的密钥或RSA、ECDSA的PEM编码私钥的字符串或buffer3,以及其他一些设置。includes:{algorithm:加密算法(默认:HS256)比如60,"2days","10h","7d",Expirationtime,expirationtime}这里为了增加密钥的复杂度,我使用RSA256加密jwt,使用openssl创建RSA256密钥pair:方法如下:先下载安装openssl,参考安装链接。然后打开openssl.exe生成第三部分密钥文件。有了key,我们就可以在登录界面生成jwt给客户端了:首先引入constjwt=require('jsonwebtoken');fs读取文件时read经常找不到相对路径。使用path读取fsjwt中存放用户id和username的绝对路径,expiresIn表示过期时间。第四步验证:生成和验证token大致是这样的。链接参考:阮一峰老师的博客JSONWebToken入门教程
