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