基于Node.js实现)身份验证(jsonwebtoken + cookie)与一键退出功能

基于Node.js实现)身份验证(jsonwebtoken + cookie)与一键退出功能

基本流程

1.客户端(浏览器)进行注册或者登录的时候,将信息发送给服务器端
2.服务器利用这个信息签发一个令牌
2.服务器将这个令牌存入cookie里发送给客户端(浏览器)
3.在需要进行身份验证的地方调用这个令牌的信息进行验证

jsonwebtoken的安装

在命令终端里输入,

npm install jsonwebtoken

如果安装不成功可以试试淘宝镜像(在上面代码的后面加上淘宝镜像)

--registry=https://registry.npm.taobao.org

在这里插入图片描述

具体流程

一.令牌的签发与验证

1.签发
jwt.sign(payload, secretOrPrivateKey, [options, callback])

返回值是加密过后的令牌

payload(有效载荷)通俗讲就是对于接收者有用的数据
secretOrPrivateKey (密钥)通俗讲就是加密所用的钥匙
options: 可选项

algorithm (算法)(default: HS256)
expiresIn(过期时间): expressed in seconds or a string describing a time span zeit/ms.
…具体的可看官方文档:https://www.npmjs.com/package/jsonwebtoken

callback(回调函数)
Eg:
在这里插入图片描述
为了方便使用我将令牌的签发放在里user表的成员方法里
在这里插入图片描述

2.验证

参数与上面一样

jwt.verify(token, secretOrPublicKey, [options, callback])

callback(回调函数)里有两个参数 err,decodeToken(解密过后的令牌)

二.将令牌存入cookie

当用户进行登录或者注册的时候将令牌存入cookie,同时将令牌信息存入user信息的tokens里
(每进行一次登录就会有一个令牌签发)
在这里插入图片描述

三.身份验证

通过解密过后的令牌信息(里面有用户的id),找到这个用户,再比较里面的令牌信息是否一致,如果一致就通过,如果不一致就表明令牌失效。
在这里插入图片描述

四.退出所有登录

通过清空tokens,使上面的身份验证失败,从而退出所有客户端的登录
在这里插入图片描述
其它具体功能可以查找官方文档:https://www.npmjs.com/package/jsonwebtoken

五.有什么意见或建议欢迎提出

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值