npm包hapi-auth-hawk使用教程

阅读时长 4 分钟读完

介绍

hapi-auth-hawk是Hapi框架的自定义策略插件,可用于快速提供Hawk身份验证。Hawk是一种用于HTTP身份验证的协议,它使用了强壮的加密和时间相关的身份验证令牌。本教程将介绍如何使用hapi-auth-hawk这个npm包实现Hawk身份验证。

安装

使用npm安装hapi-auth-hawk包:

使用步骤

第一步:定义策略

定义Hapi策略时需要将hapi-auth-hawk插件注册到hapi服务器中。

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

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

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

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

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

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

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

上述代码中,我们使用bcrypt来加密密码。字典中的实际存储的是已加密的密码。validad的目的是从请求参数中确定访问的用户是否存在,如果因为某种原因验证无效,返回的密钥将被视为无效。

我们将hapi-auth-hawk包导入到文件中,并使用server.register方法注册插件。接下来,我们在server.auth.strategy中定义默认的认证策略,并将hawk插件作为认证提供者。

第二步:应用策略

在路由上应用策略,以保护路由免受未授权的访问。

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

上述代码中,我们在路由定义的options对象中指定auth为我们先前定义的认证策略,这将使请求受到认证保护。

第三步:创建请求头

创建一个Hawk请求头,以使用该头部访问受保护的路由。

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

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

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

上述代码中,我们使用Hawk.client.header方法创建了一个Hawk请求头,并将其作为Authorization请求头的一部分发送。请注意,创建请求时需要指定正确的host头部。

结论

在本教程中,我们介绍了如何使用npm包hapi-auth-hawk来实现Hawk身份验证。我们讲解了如何定义和使用策略,以及如何创建Hawk请求头。这对于前端开发人员和Web开发人员来说非常重要,他们需要保护他们的应用程序免受未经授权的访问。hapi-auth-hawk提供了一个可靠的身份验证方案,可以帮助我们更好地完成这项任务。

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

纠错
反馈