摘要:里面的验证是基于和这两个概念的。另一方面,是一个预先配置的命名的实例。注册了一个插件该插件创建了一个命名为的。执行上述文件,访问。在弹出的登录框中输入用户名及密码,页面将展示如果报错,可使用模块替代,其余代码无需改变。
hapi里面的Authentication(验证)是基于scheme和strategies这两个概念的。
你可以把scheme理解为一个通用型的验证,是那种基础的,概要的的描述。
另一方面,strategy是一个预先配置的、命名的scheme实例。
为了更好地理解hapi中的Authentication,请看下面这个示例:
"use strict"; const Bcrypt = require("bcrypt"); const Hapi = require("hapi"); const Basic = require("hapi-auth-basic"); const server = new Hapi.Server(); server.connection({ port: 3000 }); const users = { john: { username: "john", password: "$2a$10$iqJSHD.BGr0E2IxQwYgJmeP3NvhPrXAeLSaGCj6IR/XU5QtjVu5Tm", // "secret" name: "John Doe", id: "2133d32a" } }; const validate = function (request, username, password, callback) { const user = users[username]; if (!user) { return callback(null, false); } Bcrypt.compare(password, user.password, (err, isValid) => { callback(err, isValid, { id: user.id, name: user.name }); }); }; server.register(Basic, (err) => { if (err) { throw err; } server.auth.strategy("simple", "basic", { validateFunc: validate }); server.route({ method: "GET", path: "/", config: { auth: "simple", handler: function (request, reply) { reply("hello, " + request.auth.credentials.name); } } }); server.start((err) => { if (err) { throw err; } console.log("server running at: " + server.info.uri); }); });
上述代码做了如下几个操作:
定义了一个用户数据信息,包括用户名、密码等信息。
定义了一个验证函数,它是针对于hapi-auth-basic具体实现的一个功能,允许我们去验证用户提供给我们的凭证。
注册了一个插件(hapi-auth-basic),该插件创建了一个命名为basic的scheme。
执行上述文件,访问localhost:3000。在弹出的登录框中输入用户名及密码,页面将展示:hello, John Doe
tip:如果npm install bcrypt报错,可使用bcryptjs模块替代bcrypt,其余代码无需改变。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/82561.html
摘要:框架,用官网的简介来说就是是构建应用程序和服务的丰富框架,它使开发人员能够专注于编写可重用的应用程序逻辑,而不是花时间构建基础设施。用自己的话简单来说,就是个类似,之类的服务基础框架。同时全局环境直接获取。 showImg(https://segmentfault.com/img/bVbrV3m?w=572&h=350); hapi框架,用官网的简介来说就是:Hapi是构建应用程序和...
摘要:框架,用官网的简介来说就是是构建应用程序和服务的丰富框架,它使开发人员能够专注于编写可重用的应用程序逻辑,而不是花时间构建基础设施。用自己的话简单来说,就是个类似,之类的服务基础框架。 showImg(https://segmentfault.com/img/bVbrV3m?w=572&h=350); hapi框架,用官网的简介来说就是:Hapi是构建应用程序和服务的丰富框架,它使开...
阅读 3051·2023-04-26 00:53
阅读 3482·2021-11-19 09:58
阅读 1665·2021-09-29 09:35
阅读 3245·2021-09-28 09:46
阅读 3731·2021-09-22 15:38
阅读 2665·2019-08-30 15:55
阅读 2968·2019-08-23 14:10
阅读 3724·2019-08-22 18:17