npm 包 @nicolasparada/jwt-middleware 使用教程

阅读时长 5 分钟读完

介绍

@nicolasparada/jwt-middleware 是一个用于验证 JSON Web Token(JWT)的中间件。它可以用于 Node.js 和 Express 应用程序中。该中间件使用 jsonwebtoken 库来验证和解码 JWT。

安装

使用 npm 安装 @nicolasparada/jwt-middleware

使用

在 Express 应用程序中使用 @nicolasparada/jwt-middleware

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

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

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

在上面的示例中,我们将中间件添加到 Express 应用程序中,并使用 secret 选项指定用于验证令牌的密钥。在 app.get 调用中,我们使用 req.user.name 访问从令牌中解码的用户名称。

该中间件还支持以下选项:

  • header:JWT 令牌在请求中的头部字段,默认值为 Authorization
  • algorithm:JWT 加密算法,默认值为 HS256
  • callback:当 JWT 无效时调用的自定义回调函数,默认情况下返回 401 错误。
-- -------------------- ---- -------
-----------------------
  ------- ------------
  ------- ---------------------
  ---------- --------
  --------- ----- ---- ---- ----- -- -
    -- ----- -
      ---------------------- -------- -------- ------ ---
    - ---- -
      -------
    -
  -
----

示例

下面是一个完整的 Express 应用程序,演示如何使用 @nicolasparada/jwt-middleware

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

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

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

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

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

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

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

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

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

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

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

在上面的应用程序中:

  1. 我们定义了一个包含三个用户的数组。
  2. 我们定义了一个 /login 路由,该路由获取用户名和密码并返回一个包含 JWT 的 JSON 响应。
  3. 我们将 jwtMiddleware 添加到应用程序中,这表示只有在客户端提供有效的 JWT 时才能访问 /users 路由。
  4. 我们定义 /users 路由,它返回用户数组。

该应用程序模拟了一个用户验证系统,它要求用户提供用户名和密码才能获得访问权限。用户验证通过后,服务器将返回一个 JWT,然后客户端可以将此 JWT 用作身份验证凭据。只有在提供有效的 JWT 时才会访问 /users 路由。

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

纠错
反馈