npm 包 gg-jwt 使用教程

阅读时长 5 分钟读完

前言

随着前端开发的快速发展,越来越多的开发者从后端转向前端。而 Token 的鉴权方式也逐渐广泛地应用在前端开发中。JWT(JSON Web Token)是一个轻量级的身份验证和授权方式,已经成为前端开发中流行的鉴权方式之一。本文将介绍 npm 包 gg-jwt 的使用教程,帮助开发者更快地接入 JWT 鉴权。

gg-jwt 介绍

gg-jwt 是一个符合规范的 JWT 鉴权库,可以在前端轻松的使用 JWT 来完成用户的认证和授权。gg-jwt 提供了简单的方法来生成和验证 JWT Token,并且支持自定义设置 Token 的过期时间和 payload。

gg-jwt 的使用环境要求:

  • 支持 Promise 的浏览器版本,或者 Node.js 6 以上版本

安装 gg-jwt

gg-jwt 可以通过 npm 安装:

使用 gg-jwt

生成 Token

在生成 Token 之前,需要先准备好需要加入到 payload 中的信息。根据实际需求,可以加入用户的 ID、名字、邮箱,或者其他需要保存的信息。

-- -------------------- ---- -------
------ - --------- - ---- ---------

----- ------- - -
  ----- ----- -----
  ------ -----------------------
  ------- -----
-

----- ----------- - ------------------ ----------
-------------------------

以上代码将生成一个 Token,并将其打印在控制台上。

signToken(payload, secret) 方法接受两个参数:

  • payload:要添加到 Token 中的对象,可以是任何信息
  • secret:用于签名的秘钥,必须保密,不应该公开

解析 Token

接下来,我们需要验证并解析这个 Token 是否有效,以确认用户是否被授权。为此,我们可以使用 verifyToken(token, secret) 方法来验证 Token。

-- -------------------- ---- -------
------ - ----------- - ---- ---------

-- --------- ----------- --- -----
----- ----------- - ------------

-- ----- -----
------------------------ ---------
  -------- ------- -- -- -
    ---------------------
  --
  -------------- -- -
    --------------------------
  ---

verifyToken(token, secret) 方法接受两个参数:

  • token:需要验证的 Token
  • secret:用于签名的秘钥

verifyToken() 方法将返回一个 Promise,resolve 时将得到一个包含 payload 和 header 的对象 { payload, header }。如果验证失败,则会 reject 返回一个 Error 对象。

自定义过期时间

默认情况下,gg-jwt 生成的 Token 没有过期时间。如果需要限定 Token 的有效时间,可以通过 expiresIn 对 Token 进行设置。

signToken() 方法第三个参数可以是一个对象,里面包含 expiresIn 和任意其他自定义设置:

-- -------------------- ---- -------
------ - --------- - ---- ---------

----- ------- - -
  ----- ----- -----
  ------ -----------------------
  ------- -----
-

----- ------- - -
  ---------- ---- -- ----- --------
-

----- ----------- - ------------------ --------- ---------
-------------------------

集成到 axios 请求中

当我们需要访问需要鉴权的 API 时,需要在每个请求中带上 Token。可以使用 axios 的拦截器来在每个请求中添加 Token。

-- -------------------- ---- -------
------ ----- ---- --------
------ - --------- - ---- ---------

----- ------- - -
  ----- ----- -----
  ------ -----------------------
  ------- -----
--

----- ----------- - ------------------ ----------

----- -------- - --------------
  -------- --------------------------
---

-- -------- -----
----------------------------------
  -------- -- -
    ---------------------------- - ------- ----------------
    ------ -------
  --
  ------- -- ---------------------
--

-- ----
---------------------
  ---------------- -- -
    ---------------------------
  --
  -------------- -- -
    ---------------------------
  ---

接下来,每个请求都将自动带上 Token,以达到身份验证的目的。

结语

本文介绍了 gg-jwt 的使用方法,希望可以帮助开发者更快地接入 JWT 鉴权,保护应用程序的安全。当然,gg-jwt 只是一个小型的鉴权库,开发者在实际项目中还需要综合考虑其他因素,如 Token 的生成时机、存储方式、Token 的刷新等。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055a4d81e8991b448d7ec6

纠错
反馈