欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密

 更新時(shí)間:2023年03月17日 11:31:43   作者:。Idea  
目前在web框架中最流行的身份驗(yàn)證是使用jsonwebtoken,簡稱jwt.可以設(shè)置加密方式,過期時(shí)間,存放個(gè)人信息,逆解析,下面這篇文章主要給大家介紹了關(guān)于如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密的相關(guān)資料,需要的朋友可以參考下

一、token

1、什么是token

? ‘令牌’的意思,是一個(gè)字符串,在客戶端第一次請求服務(wù)器時(shí)由服務(wù)器生成,然后響應(yīng)給客戶端(保存),當(dāng)客戶端再次請求服務(wù)器時(shí),帶上這個(gè)token,就不需要再帶用戶名和密碼。

2、作用

? (1)防止表單重復(fù)提交:

? (2)進(jìn)行身份驗(yàn)證:

? a、為什么要進(jìn)行身份認(rèn)證:基于http協(xié)議的請求,無狀態(tài)(當(dāng)客戶端與服務(wù)器之間的請求-響應(yīng)過程完成后,客戶端和服務(wù)器就斷開了聯(lián)系、服務(wù)器無法記錄或跟蹤客戶端)。當(dāng)客戶端再次向服務(wù)器發(fā)起請求的時(shí)候,服務(wù)器需要對(duì)客戶端的身份進(jìn)行認(rèn)證。

 b、傳統(tǒng)的身份認(rèn)證方式:

? cookie:在服務(wù)器端生成,保存在客戶端。

? session:在服務(wù)器端生成,保存在服務(wù)器端

? c、token認(rèn)證:在服務(wù)器端不需要保存用戶的身份信息,流程如下:

        ? (a). 客戶端使用用戶名和密碼請求登錄。

?         (b). 服務(wù)端收到請求,驗(yàn)證用戶名和密碼。

?         (c). 驗(yàn)證成功后,服務(wù)端會(huì)生成一個(gè)token,然后把這個(gè)token發(fā)送給客戶端。

        ? (d). 客戶端收到token后把它存儲(chǔ)起來,可以放在cookie或者Local Storage(本地存儲(chǔ))里。

?         (e). 客戶端每次向服務(wù)端發(fā)送請求的時(shí)候都需要帶上服務(wù)端發(fā)給的token。

        (f). 服務(wù)端收到請求,然后去驗(yàn)證客戶端請求里面帶著token,如果驗(yàn)證成功,就向客戶端

                返回請求的數(shù)據(jù)。

? d、token的本質(zhì):

        是對(duì)用戶的信息進(jìn)行加密、解密,因此保存在客戶端的token是加密后的一個(gè)字符串

二、Express中實(shí)現(xiàn)token的方法:

1、使用JWT模塊:JsonWebToken

? JWT的函數(shù):

? sign(加密的數(shù)據(jù),加密的密鑰,其他參數(shù));返回值是一個(gè)加密后的字符串

? verify(token,加密的密鑰,[options]);驗(yàn)證token,返回值是一個(gè)對(duì)象,加密數(shù)據(jù)的信息,包括有效期

? decode(token,加密的密鑰);解密的方法。返回值是一個(gè)對(duì)象,加密數(shù)據(jù)的信息,包括有效期

2、token驗(yàn)證的流程

? (1)第一次向服務(wù)器發(fā)起登錄請求時(shí),沒有token信息

? (2)當(dāng)用戶登錄后,在服務(wù)器端生成token(token中包含哪些信息由用戶決定),然后將token響應(yīng)給客戶端

? (3)當(dāng)客戶端接收到服務(wù)器端響應(yīng)的token后,將token存入本地的緩存中(如localStorage、cookie)

? (4)當(dāng)客戶端再次訪問服務(wù)器時(shí),需要在請求頭中包含token;服務(wù)器在接收到客戶端的請求后,先查找客戶端的請求頭中是否有

? token,若沒有,則表明該用戶是非法用戶,就不響應(yīng)任何數(shù)據(jù);若有token,則表明該用戶是合法用戶,就響應(yīng)數(shù)據(jù)

3、Express中實(shí)現(xiàn)過程 ?

(1)安裝、導(dǎo)入JsonWebToken模塊 ?

(2)在登錄接口中生成token并響應(yīng)給客戶端

(3)在客戶端將接收到的token保存到本地緩存

? (4)當(dāng)客戶端再次訪問(包括未登錄的訪問——非法訪問)服務(wù)器,服務(wù)器端會(huì)對(duì)token進(jìn)行驗(yàn)證

 (5)客戶端每次向服務(wù)器發(fā)起請求時(shí)都必須攜帶token,否則視為非法用戶  

總結(jié) 

到此這篇關(guān)于如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密的文章就介紹到這了,更多相關(guān)node.js進(jìn)行token加密內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Node.js操作系統(tǒng)OS模塊用法分析

    Node.js操作系統(tǒng)OS模塊用法分析

    這篇文章主要介紹了Node.js操作系統(tǒng)OS模塊用法,結(jié)合實(shí)例形式分析了nodejs OS模塊常見函數(shù)功能及簡單使用技巧,需要的朋友可以參考下
    2019-01-01
  • nodejs解析xml文件方式(xml->json)

    nodejs解析xml文件方式(xml->json)

    這篇文章主要介紹了nodejs解析xml文件方式(xml->json),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Nodejs探秘之深入理解單線程實(shí)現(xiàn)高并發(fā)原理

    Nodejs探秘之深入理解單線程實(shí)現(xiàn)高并發(fā)原理

    這篇文章主要介紹了Nodejs單線程實(shí)現(xiàn)高并發(fā)原理,對(duì)Node.js感興趣的同學(xué),可以參考下
    2021-04-04
  • nodejs中操作mysql數(shù)據(jù)庫示例

    nodejs中操作mysql數(shù)據(jù)庫示例

    這篇文章主要介紹了nodejs中操作mysql數(shù)據(jù)庫示例,本文演示了如何在NodeJS中創(chuàng)建創(chuàng)建mysql連接、mysql數(shù)據(jù)庫、插入數(shù)據(jù)、查詢數(shù)據(jù)等功能,需要的朋友可以參考下
    2014-12-12
  • node打造微信個(gè)人號(hào)機(jī)器人的方法示例

    node打造微信個(gè)人號(hào)機(jī)器人的方法示例

    這篇文章主要介紹了node打造微信個(gè)人號(hào)機(jī)器人的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • 淺談Node的內(nèi)存泄露

    淺談Node的內(nèi)存泄露

    隨著node、react同構(gòu)等技術(shù)越來越廣泛地使用, 內(nèi)存泄漏的事情時(shí)有發(fā)生,應(yīng)當(dāng)引起足夠的重視,本文主要介紹了Node的內(nèi)存泄露,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • nodejs操作mysql實(shí)現(xiàn)增刪改查的實(shí)例

    nodejs操作mysql實(shí)現(xiàn)增刪改查的實(shí)例

    下面小編就為大家?guī)硪黄猲odejs操作mysql實(shí)現(xiàn)增刪改查的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • 淺談nodejs中創(chuàng)建cluster

    淺談nodejs中創(chuàng)建cluster

    集群是一組相互獨(dú)立的、通過高速網(wǎng)絡(luò)互聯(lián)的計(jì)算機(jī),它們構(gòu)成了一個(gè)組,并以單一系統(tǒng)的模式加以管理。一個(gè)客戶與集群相互作用時(shí),集群像是一個(gè)獨(dú)立的服務(wù)器。集群配置是用于提高可用性和可縮放性。本文將詳細(xì)介紹如何在nodejs中創(chuàng)建cluster。
    2021-06-06
  • 從零學(xué)習(xí)node.js之簡易的網(wǎng)絡(luò)爬蟲(四)

    從零學(xué)習(xí)node.js之簡易的網(wǎng)絡(luò)爬蟲(四)

    簡單的爬蟲實(shí)現(xiàn)原理很簡單:發(fā)送http請求至目標(biāo)地址獲取HTML頁面數(shù)據(jù),然后從獲取來的頁面數(shù)據(jù)中提取需要的數(shù)據(jù)保存。下面這篇文章主要介紹了利用node.js實(shí)現(xiàn)簡易的網(wǎng)絡(luò)爬蟲的相關(guān)資料,需要的朋友可以參考下。
    2017-02-02
  • 利用nvm管理多個(gè)版本的node.js與npm詳解

    利用nvm管理多個(gè)版本的node.js與npm詳解

    這篇文章主要給大家介紹了關(guān)于利用nvm管理多個(gè)版本的node.js與npm的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11

最新評(píng)論