古詩詞大全網 - 個性簽名 - 在NodeJS中使用標記

在NodeJS中使用標記

什麽是Token?

Token是指訪問資源的憑證,是身份認證的壹種方式,也是解決跨域認證最流行的方式。

為什麽使用Token?

以前比較流行的是會話認證,會話就是通過在服務器保存會話數據來認證。這種方式會導致高並發下服務器壓力過大。此外,如果是服務器集群,那麽這些服務器需要由會話共享。

令牌不將會話數據保存在服務器中,而是保存在客戶端中。在每個請求的頭中存儲Token,判斷Token在服務器中的有效性以及是否可以訪問資源。

傳統代幣和JWT的區別

它包含簽名算法和令牌類型,然後通過base64url算法將其轉換為字符串。

它包含JWT標準數據和自定義數據,然後通過base64url算法將其轉換為字符串。

JWT標準數據很常見:

可以選擇性地使用上述標準數據。

註意:因為默認情況下JWT是不加密的,所以不要在這裏存儲敏感信息。

這部分是前兩部分的簽名,防止數據篡改。

Secret是服務器保存的密鑰,只有服務器知道。然後使用頭中指定的簽名算法對以上兩部分進行簽名,根據以下公式生成簽名。

計算完簽名後,只需將三部分分開,返回給用戶即可。

eyjhbgcioijiuzi 1 NII SINR 5 CCI 6 ikpxvcj 9 . eyjpzci 6 MTA si M5 hbwuiillvkdkuikilcjhz 2 uioje 2 lcjpyxqioje 1 odgxmzkzmjmsimv 4 CCI 6 MTU 4 odozotmzm 30。WzZp _ angi w4 itsx 7 bux mhze 0 z 0 e 94 ve 6 imez 8 l 8 l 78 c

每次客戶端請求時,它都需要攜帶這個令牌,這個令牌通常被寫入請求的頭部。

npm包jsonwebtoken用於生成和驗證令牌。