问题标签 [hapijs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 将 Hapijs 和 Bell 与 twitter 提供程序一起使用。如何使用 Bell 模块处理来自 Twitter 的授权拒绝?
我将 Hapi 框架 (nodejs) 与Bell模块一起使用,并与 Twitter 提供商合作。
使用 github 页面中给出的示例获取工作代码非常简单。我访问/login路由并被重定向到 Twitter,我在其中授权应用程序,然后我被重定向回/login?oauth_token=xxxxxxx&oauth_verifier=xxxxxxx在那里我可以访问 request.auth.credentials 中的用户配置文件.
当我试图拒绝该应用程序时,问题就来了。我没有单击 Twitter 上的“登录”按钮,而是单击了“取消”按钮,然后单击了“返回站点名称”按钮。最后一个按钮将我重定向到/login?denied=xxxxxx,然后我(再次)被重定向到 Twitter 以批准该应用程序。
我尝试使用同一页面https://github.com/hapijs/bell#handling-errors中的另一个示例来处理这种情况,但无法使其正常工作。
似乎在检查 request.auth 之前,它会解释 /login 路由并重定向到 Twitter。我仍然不太了解 Bell 模块,但可能是 Twitter 策略期望 request.params 中的oauth_token和oauth_verifier,但是策略没有解释被拒绝的参数,这就是重定向发生的原因。
有人设法处理这种情况吗?
plugins - Hapijs crumb 插件给了我未定义的 crumb
我正在尝试在我的项目中使用 crumb 插件来获取 我已将其作为插件导入的令牌crumb插件。在翡翠模板中我是这样得到的
但价值是undefined
。为什么我得到那个值?我应该设置任何设置吗?根据开发者的例子,看起来很简单
node.js - 是否有与 Hapi 兼容的库以提供细粒度的 ACL/用户权限?
希望使用 HapiJS 作为我们的 API 服务器。我们需要细粒度的用户权限,例如给定模型/资源的“用户 A 可以编辑字段 B”“用户 C 可以查看字段 D”。
在我们开始构建之前,我一直在查看是否已经完成了与 Hapi 兼容的类似操作。
hapijs - 如何在 coffeescript 中使用 Hapi.js 开发 API
我是 hapi.js 的新手,我会尝试对其进行测试。是否可以使用 Hapi.js 和 coffeescript 进行开发?您能否提供一些有关如何使用咖啡脚本设置 hapi.js 的示例。
javascript - 在 hapi 服务器中出现错误
我正在构建一个简单的日志应用程序,并尝试实现模块化以使代码更具可读性。但是,当我启动我的应用程序时,我遇到了一些麻烦。我有两个文件,index.js
这是我的服务器配置和routes.js
路由逻辑的位置。我编写路线的方式是根据hapi api中的 api 文档。
我希望有人可以帮助我理解为什么会出现以下错误:
我没有正确导出模块吗?
这是我的代码routes.js
:
这是我的代码index.js
:
database - hapijs 获取表单数据
我正试图data
从我form
的hapijs server
. 我好像没管。当我提交时form
,将data
作为未定义传递,这会在服务器上触发错误。据我了解hapi
,它会自动解析数据。
有人可以帮我理解我做错了什么吗?为什么我变得不确定?
处理表单数据的函数是sendworkout
.
这些是我的路线:
这是我的服务器模块:
这是我的html表单:
jquery - hapijs 自动递增有效载荷索引
我怎样才能编写以下内容,以便我不需要这个广泛的列表,req.payload.reps + number
并且req.payload.kilos + number
只有一对,req.payload.reps - req.payload.kilos
但它会根据传递给具有这些名称的模式的数据数量自动递增?
此外,如果我不使用计数器来增加字段的name
属性,则和input
的值将作为两个数组存储在数据库中。之后匹配相应的值会更容易,还是像我事先询问的那样设置模式更有意义?reps
kilos
所以有类似的东西req.payload.reps[i]
。这样,当用户为这些输入字段发送的值少于 10 个时,我不会将空对象发布到数据库,并且用户可以通过维护模式格式发送任意数量的输入值。
我hapijs
在服务器端使用。
我的路由器功能:
我的 jQuery 为该input
字段添加了一个计数器name
:
还有我的 HTML:
node.js - 车把获取辅助功能的服务器数据
我正在设置response
查询服务器couchbase
并希望用于handlerbars
呈现响应数据。
我知道最好的做法是将我的辅助函数放入一个单独的文件中,而不是嵌入到script
我的 html 文件的标签中。
我的问题是data
将服务器响应传递给我的把手帮助文件然后进行操作的最佳实践或技术是什么?
我hapijs
在服务器和jQuery
客户端上使用。
javascript - hapi 在发送响应之前设置标头
在 hapi 处理程序中,我尝试在代码的前面设置响应的标头,然后再发回视图。
我必须使用该hold
方法吗?在这种情况下,如何在渲染视图时重用响应?
谢谢你的帮助。
javascript - Hapijs 和 Joi:验证查询参数是否存在:“禁止”
我的目标是为帖子创建一个索引路由。用户应该能够指定一些查询参数(即标签、类型),但不能指定其他参数。澄清:
这没关系:
这是不行的:
这是 hapi 包配置:
请注意presence: forbidden
选项。
这是路由配置:
我的想法是验证应该允许任何子集type
和tags
参数(包括空查询)。但是,在发出任何允许的请求后,我收到以下错误:
这是为什么?当然没有键名value
。如何使验证按照我想要的方式进行?