- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 hapi.js API 中,他们指定身份验证方案也可以将工件作为凭证对象的一部分返回。
究竟什么是身份验证工件,它们为什么有用?有没有一个很好的例子来说明为什么 hapi 团队将此作为其 API 的一部分?
最佳答案
简答
上 request.auth
您可以访问以下属性:
credentials
- 识别或代表唯一用户的事物 artifacts
- 非凭据的可选身份验证相关数据 request.auth.artifacts
中。因此它可以在以后被方案中的其他身份验证功能访问。
[artifacts] refer to something that arises from the process in hand rather than the issue itself, i.e., a result of interest that stems from the means rather than the end.
artifacts
里面的数据每个方案都不一样。使用时
Hawk (使用
hapi-auth-hawk ),工件将是包含特定于 Hawk 的信息的对象,例如来自请求的时间戳、随机数和 MAC 代码:
{
method: 'GET',
host: '127.0.0.1',
port: '8000',
resource: '/resource/1?b=1&a=2',
ts: '1426940961',
nonce: 'IRd0nH',
hash: undefined,
ext: 'and welcome!',
app: undefined,
dlg: undefined,
mac: 'tKolc1UJ5w8zGcDT6+knQFDHAdJtf0/rDLOZHTzUCoU=',
id: 'dh37fgj292je'
}
authenticate
- 验证初始请求所需的函数 payload
- 可选地验证有效负载 response
- 可选地验证响应 request.auth.artifacts
填充在
authenticate
来自初始请求的方法。这意味着如果
payload
或
response
稍后执行,他们可以从
request
访问相同的共享状态对象而不必再次解析请求,因此在这种情况下,它基本上只是一个方便的容器,用于从请求中提取相关的身份验证数据。
关于hapijs - hapi.js 身份验证方案中使用的身份验证工件是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29177093/
我正在查看 hapi 路由的一些身份验证配置选项。我了解范围的工作原理 - 您可以将路由的范围设置为 'admin'这意味着用户的凭据必须具有匹配的范围...但是 entity 的目的是什么? ? 以
我正在使用 lab 编写测试用例我想测试我的插件是否抛出异常。问题是,hapi 允许异常冒泡,同时还设置了对内部服务器错误 500 的响应,这导致我的测试失败。 我们可以测试这个响应 expect(r
在 express 中,我有这样的事情: router.get('/foo', middlewareFunction, function (req, res) { res.send('YoYo
此代码在版本 9.0.3 中不起作用: server.route({ method: 'GET', path: '/', handler: function() {
我在 Joi 验证方面遇到了一个问题(或者我认为是一个问题)。如果它作为请求正文的一部分传递,我正在尝试为不存在的键分配一个值。 例如: parameters: Joi.object().keys({
由于“Inert”插件现在必须单独加载。我想注册我的应用程序的路线。我有2个选择 1) 导出一个以“server”为参数的函数,并将代码编写为 module.exports = function(se
我应该如何使用 HapiJS 实现类似 PHP exec 的系统函数调用?用户提交一个需要在后台运行一段时间的处理作业。 我需要以某种方式向用户返回作业ID/ session ID,异步运行作业,允许
我有一个像这样的routes.js: server.route({ method: 'GET', path: '/marvel/universal/verify/{serial?}',
我执行一些循环时内存不足。我怀疑 HapiJS 正在某种受限模式下运行。 我的开发机器有 i7 和 8GB 内存,但在 Hapi 控制台中我从未看到 Hapi 使用超过 1GB。 如何确保 Hapi
我使用 Joi 库作为我的 CRA 项目的独立验证器,但在触发时 email()验证器我收到神秘错误 Uncaught Error: Built-in TLD list disabled 最佳答案 来
有没有办法访问全局注册的插件?我已阅读有关 hapi-sequelize 的内容,我想将其实现到我的 hapi 应用程序中。这是documentation 。它指出您可以使用以下代码全局访问它: va
所以我有 Hapi (v17.5.1),当我有我的插件数组时 [ { plugin: good, options: { reporters: { errorReporte
我觉得我缺少一些基本的东西,但我不知道如何在 HapiJS 中获得更好的控制台输出。 我正在编写一个 API,当出现错误时它会打印出来。 150516/063815.663, [response],
我对 Hapi 如何处理验证感到有点困惑,根据请求生命周期 ( http://hapijs.com/api#request-lifecycle ),参数/查询的验证仅在身份验证完成后发生。 这样做有意
我有一个返回结果的代码。通常,当我收到该结果时,我会将其发送给客户端,并在此过程中将其转换为纯 JSON 对象。 但现在我需要对该结果集进行一些操作,然后在数据库中进行另一次查找。 我不明白的是结果集
我目前正在使用 hapi,我遇到了一个问题,我似乎找不到任何解决方案或以前提到过。当我发送以下请求时,只有我的第一个查询参数在 request.query 对象中。 curl -H "Content-
我想验证一个字段并允许另一个字段而无需验证;通过示例只是为了验证:“名字”字段。在我的代码中,当我注释“有效载荷”时,hapi 允许我记录任何字段,当我取消注释“有效载荷”时,hapijs 不允许我记
我一直在研究 hapi.js 应用程序并具有以下架构: Database --Models --usermodel.js --anothermodel.js Routes --
有谁知道是什么意思? npm ERR! Test failed. See above for more details. 3 tests complete Test duration: 873 ms
在 hapi.js API 中,他们指定身份验证方案也可以将工件作为凭证对象的一部分返回。 究竟什么是身份验证工件,它们为什么有用?有没有一个很好的例子来说明为什么 hapi 团队将此作为其 API
我是一名优秀的程序员,十分优秀!