npm 包 @salzhrani/hapi-auth-jwt2 使用教程

阅读时长 5 分钟读完

前言

在前端开发中,我们经常会用到 Json Web Token(JWT)这个认证技术。为了方便使用 JWT 在 Hapi.js 项目中进行认证,@salzhrani 开发了一个 npm 包 @salzhrani/hapi-auth-jwt2。这个包可以在 Hapi.js 项目中很方便地使用 JWT 进行认证。

安装

在开始项目之前,我们需要先安装这个包。可以通过 npm 进行安装:

使用

在 Hapi.js 项目中使用 @salzhrani/hapi-auth-jwt2 只需要简单的几步:

  1. 引入插件

在项目中,我们需要引入 @salzhrani/hapi-auth-jwt2 插件,在 Hapi.js 中,可以这样引入:

  1. 配置策略

在引入插件之后,我们需要在项目中配置策略,指定 JWT 的验证规则和相关参数:

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

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

其中 decoded 是 JWT token 中的信息,可以根据此信息来验证 JWT token 是否合法。如果返回的 isValidfalse,则表示 JWT token 验证失败,无法访问资源。

  1. 验证路由

在项目中验证路由时,我们只需要在路由配置时添加 auth: 'jwt' 配置就可以了。例如:

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

这个路由在客户端请求时,需要在 Header 中添加 Authorization 信息,指定 JWT token,例如:

示例代码

下面是一个完整的示例代码:

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

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

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

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

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

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

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

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

-------

结语

希望这篇文章能够帮助你在 Hapi.js 项目中使用 JWT 进行认证。若有疑问,欢迎在评论区留言。

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

纠错
反馈