npm 包 @tanepiper/hapi-auth-jwt 使用教程

阅读时长 4 分钟读完

简介

在前端类应用中,使用 JWT(JSON Web Token)进行用户认证和授权是目前比较流行的做法,因为 JWT 有轻量、跨域和无状态等优点。@tanepiper/hapi-auth-jwt 是一个 Node.js 的插件,使用起来简单,可以和 Hapi 框架一起使用,用来验证 JWT。

安装

可以使用 npm/yarn 安装 @tanepiper/hapi-auth-jwt。

使用

首先在 Hapi 框架中注册插件:

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

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

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

  -- ---
-

然后,在路由中加入验证:

这里使用了 options.auth 来开启验证,同时在 server.auth.strategy 中使用 jwt 的 schema 来进行配置,并填写 jwtOptions 参数。

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

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

其中 key 为 JWT 生成时使用的密钥,validate 函数用来验证 JWT 是否有效,如果有效,就可以得到 JWT 存储的用户信息。verifyOptions 则是 JWT 验证的其他参数,这里的 algorithms 是规定使用的算法。

示例代码

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

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

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

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

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

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

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

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

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

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

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

------

总结

@tanepiper/hapi-auth-jwt 是一个简单且易用的 JWT 验证插件,它适用于 Hapi 框架,并且可以方便地进行验证的配置。在使用它的时候,我们需要加入验证的路由,并在验证方法中返回验证结果。同时,verifyOptions 中参数的设置也很重要,我们需要选择合适的算法,并对数据有效期等信息进行正确的设置,才能保证 JWT 的安全性。

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

纠错
反馈