返回顶部
首页 > 资讯 > 精选 >怎么在node.js中使用​JsonWebToken模块进行token加密
  • 248
分享到

怎么在node.js中使用​JsonWebToken模块进行token加密

2023-07-05 13:07:08 248人浏览 薄情痞子
摘要

这篇文章主要讲解了“怎么在node.js中使用JSONWEBToken模块进行token加密”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在node.js中使用JsonWebToken模

这篇文章主要讲解了“怎么在node.js中使用JSONWEBToken模块进行token加密”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在node.js中使用JsonWebToken模块进行token加密”吧!

    一、token

    1、什么是token

    ‘令牌’的意思,是一个字符串,在客户端第一次请求服务器时由服务器生成,然后响应给客户端(保存),当客户端再次请求服务器时,带上这个token,就不需要再带用户名和密码。

    2、作用

    (1)防止表单重复提交:

    (2)进行身份验证:

    a、为什么要进行身份认证:基于Http协议的请求,无状态(当客户端与服务器之间的请求-响应过程完成后,客户端和服务器就断开了联系、服务器无法记录或跟踪客户端)。当客户端再次向服务器发起请求的时候,服务器需要对客户端的身份进行认证。

     b、传统的身份认证方式:

    cookie:在服务器端生成,保存在客户端。

    session:在服务器端生成,保存在服务器端

    c、token认证:在服务器端不需要保存用户的身份信息,流程如下:

             (a). 客户端使用用户名和密码请求登录。

             (b). 服务端收到请求,验证用户名和密码。

            (c). 验证成功后,服务端会生成一个token,然后把这个token发送给客户端。

             (d). 客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。

             (e). 客户端每次向服务端发送请求的时候都需要带上服务端发给的token。

            (f). 服务端收到请求,然后去验证客户端请求里面带着token,如果验证成功,就向客户端

                    返回请求的数据。

    d、token的本质:

            是对用户的信息进行加密、解密,因此保存在客户端的token是加密后的一个字符串

    二、Express中实现token的方法:

    1、使用Jwt模块:JsonWebToken

    JWT的函数:

    sign(加密的数据,加密的密钥,其他参数);返回值是一个加密后的字符串

    verify(token,加密的密钥,[options]);验证token,返回值是一个对象,加密数据的信息,包括有效期

    decode(token,加密的密钥);解密的方法。返回值是一个对象,加密数据的信息,包括有效期

    2、token验证的流程

    (1)第一次向服务器发起登录请求时,没有token信息

    (2)当用户登录后,在服务器端生成token(token中包含哪些信息由用户决定),然后将token响应给客户端

    (3)当客户端接收到服务器端响应的token后,将token存入本地的缓存中(如localStorage、cookie)

    (4)当客户端再次访问服务器时,需要在请求头中包含token;服务器在接收到客户端的请求后,先查找客户端的请求头中是否有

    token,若没有,则表明该用户是非法用户,就不响应任何数据;若有token,则表明该用户是合法用户,就响应数据

    3、Express中实现过程

    (1)安装、导入JsonWebToken模块

    (2)在登录接口中生成token并响应给客户端

    怎么在node.js中使用​JsonWebToken模块进行token加密

    (3)在客户端将接收到的token保存到本地缓存

    怎么在node.js中使用​JsonWebToken模块进行token加密

    (4)当客户端再次访问(包括未登录的访问——非法访问)服务器,服务器端会对token进行验证

    怎么在node.js中使用​JsonWebToken模块进行token加密

     (5)客户端每次向服务器发起请求时都必须携带token,否则视为非法用户  

    怎么在node.js中使用​JsonWebToken模块进行token加密

    感谢各位的阅读,以上就是“怎么在node.js中使用JsonWebToken模块进行token加密”的内容了,经过本文的学习后,相信大家对怎么在node.js中使用JsonWebToken模块进行token加密这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

    --结束END--

    本文标题: 怎么在node.js中使用​JsonWebToken模块进行token加密

    本文链接: https://lsjlt.com/news/351975.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • 怎么在node.js中使用​JsonWebToken模块进行token加密
      这篇文章主要讲解了“怎么在node.js中使用JsonWebToken模块进行token加密”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在node.js中使用JsonWebToken模...
      99+
      2023-07-05
    • 如何在node.js中使用​JsonWebToken模块进行token加密
      目录一、token1、什么是token2、作用二、Express中实现token的方法:1、使用JWT模块:JsonWebToken2、token验证的流程3、Express中实现过...
      99+
      2023-03-19
      nodejs token node token验证 node.js token加密
    • 怎么在Node.js中使用http模块
      这篇文章将为大家详细讲解有关怎么在Node.js中使用http模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。HTTP协议要理解Web服务器程序的工作原理,首先,我们要对HTTP协议有基本...
      99+
      2023-06-14
    • 怎么在java中使用Base64进行加密与解密
      怎么在java中使用Base64进行加密与解密?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Base64加密与解密操作package cn.mldn.demo;i...
      99+
      2023-06-14
    • Node.js中SerialPort模块怎么使用
      这篇文章主要讲解了“Node.js中SerialPort模块怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js中SerialPort模块怎么使用”吧!目的上位机与各种电路模...
      99+
      2023-06-21
    • Node.js 使用 zlib 内置模块进行 gzip 压缩
      目录前言什么是gzip?gzip和zlib什么关系?普通数据传输gzip压缩数据传输结语前言 任何服务端开发都少不了性能优化的操作,在前后端使用HTTP接口(API)进行数据传递时,...
      99+
      2024-04-02
    • Node.js | 使用 zlib 内置模块进行 gzip 压缩
      🖥️ NodeJS专栏:Node.js从入门到精通 🖥️ 博主的前端之路:前端之行,任重道远(来自大三学长的万字自述) 🧧 加入社区领红包:海底烧烤店ai(从前端到全栈) 🧑‍💼个人简介:即将大三的学生,一个不甘平庸的平凡人🍬 👉 你的...
      99+
      2023-08-20
      node.js 服务器 前端 gzip 性能优化
    • Node.js中的VM模块怎么使用
      本篇内容主要讲解“Node.js中的VM模块怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中的VM模块怎么使用”吧!参考文献 vm 虚拟机...
      99+
      2024-04-02
    • Node.js中的http模块怎么使用
      本篇内容介绍了“Node.js中的http模块怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、什...
      99+
      2024-04-02
    • Node.js中的EventEmitter模块怎么使用
      本篇内容主要讲解“Node.js中的EventEmitter模块怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中的EventEmitter...
      99+
      2024-04-02
    • Node.js中的path模块怎么使用
      这篇“Node.js中的path模块怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node.js中的path模块怎么...
      99+
      2023-07-05
    • 如何在JAVA中使用MD5加密对密码进行加密
      本篇文章为大家展示了如何在JAVA中使用MD5加密对密码进行加密,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。新建Md5.javapackage com.loger.md5;import java....
      99+
      2023-05-31
      java md5加密 ava
    • Node.js中path模块,url模块,http模块怎么用
      小编给大家分享一下Node.js中path模块,url模块,http模块怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!path模块Node.js中,提供了一...
      99+
      2023-06-29
    • nodejs中的crypto加密模块怎么用
      这篇文章将为大家详细讲解有关nodejs中的crypto加密模块怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。加密模块提供了 HTTP 或 HTTPS 连接过程中封装安全凭证的方法。也提供了 Ope...
      99+
      2023-06-14
    • 如何在Java中使用RSA加密对密码进行加密解密
      这期内容当中小编将会给大家带来有关如何在Java中使用RSA加密对密码进行加密解密,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:public static void ...
      99+
      2023-05-31
      java rsa加密 ava
    • Node.js中stream模块怎么用
      这篇文章主要介绍了Node.js中stream模块怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Node.js 流的类型Node.js...
      99+
      2024-04-02
    • Node.js中url模块怎么用
      这篇文章给大家分享的是有关Node.js中url模块怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。url模块URL模块主要提供对URL(Uniform Resource L...
      99+
      2024-04-02
    • Node.js的Buffer模块怎么使用
      这篇文章主要介绍“Node.js的Buffer模块怎么使用”,在日常操作中,相信很多人在Node.js的Buffer模块怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
      99+
      2024-04-02
    • Node.js的Events模块怎么使用
      本篇内容主要讲解“Node.js的Events模块怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js的Events模块怎么使用”吧!Event...
      99+
      2024-04-02
    • Python加密与解密模块hashlib与hmac怎么使用
      这篇“Python加密与解密模块hashlib与hmac怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python加...
      99+
      2023-06-30
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作