当前位置: 首页 > news >正文

营销型网站建设的流程wordpress模板视频

营销型网站建设的流程,wordpress模板视频,html5网站后台管理系统,域名备案网站要不要关概述 有时,可能需要通过 Webhook 端口从交易伙伴处接收数据,但该交易伙伴可能需要更多的安全性,而不仅仅是用于验证入站 Webhook 请求的基本身份验证用户名/密码 – 或者您可能只想在入站 Webhook 消息上添加额外的安全层。 使用 Webhook 端…

概述

有时,可能需要通过 Webhook 端口从交易伙伴处接收数据,但该交易伙伴可能需要更多的安全性,而不仅仅是用于验证入站 Webhook 请求的基本身份验证用户名/密码 – 或者您可能只想在入站 Webhook 消息上添加额外的安全层。

使用 Webhook 端口的自定义响应功能,您实际上可以创建自己的 HTTP 签名身份验证逻辑,通过使用分配给请求标头的 HMAC 签名值,对入站 Webhook 请求执行一些额外的身份验证。

Script脚本

这个脚本是我在这篇文章附带的 Webhook 端口的 Response 事件中编写的脚本:

<!-- setting the secret key value to be available globally -->
<arc:set attr="secret.key" value="test" /><!-- specifying the HMAC format, key value, algorithm, bits and output to result in HMACSHA256 -->
<arc:set attr="encIn.format" value="HMAC" />
<arc:set attr="encIn.hmackey" value="[secret.key]" />
<arc:set attr="encIn.hmacalgorithm" value="SHA" />
<arc:set attr="encIn.hmacbits" value="256" />
<arc:set attr="encIn.outformat" value="HEX" />
<!-- setting the data that should be included in order to create the hash. this is the body of the request -->
<arc:set attr="encIn.data">[_message.body]</arc:set><!-- generating signature HMAC hex digest hash -->
<arc:call op="encEncode" in="encIn" out="encOut"><arc:set attr="calculated.signature" value="sha256=[encOut.encodeddata]" /><!-- comparing the signature on the request to the signature calcuated above --><arc:if exp="[_httpheaders.X-Hub-Signature-256 | equals([calculated.signature | tolower()])]"><arc:set attr="_response.write"><Status>Success!</Status></arc:set><arc:set attr="_response.statuscode" value="200" /><arc:set attr="_response.statusdescription" value="OK" /><arc:else><arc:set attr="_response.write"><Status>The signature provided in the request did not match the expected signature. The expected value is [calculated.signature | tolower()]</Status></arc:set><arc:set attr="_response.statuscode" value="401" /><arc:set attr="_response.statusdescription" value="Unauthorized: Signature Mismatch" /><arc:throw code="500" desc="The signature provided in the request did not match the expected signature. The expected value is [calculated.signature | tolower()]" /></arc:else></arc:if>

下面提供了有关与此脚本关联的部分的进一步说明,但上面脚本的每个主要部分都包含一个注释,概述了该脚本部分正在执行的操作。点击了解此处使用的主要 ArcScript 操作。

实现

GitHub 的 webhook 请求的工作方式是,每次我的一个存储库发生推送事件时,它都会向配置的 API 端点(在本例中为知行之桥EDI系统的 Webhook 端口)发送 POST 请求。这只是特定于 GitHub,但这里的想法可以转移到任何其他自动化系统,甚至是能够发送 REST 请求的自定义实现。

出于测试目的,我的“秘密”只是一个简单的“测试”字符串。

推送事件发生后,GitHub 会向 URL 发送一个包含一些 JSON 数据的 POST。GitHub 使用 POST 的密钥和正文计算 HMAC 十六进制摘要,并将其作为标头 (X-Hub-Signature-256) 包含在内。

此请求到达 Webhook 端口后,自定义脚本实际上会使用传入请求的密钥和截获的正文生成相同的 HMAC 十六进制摘要,将其与 X-Hub-Signature-256 标头中包含的内容进行比较,然后根据结果创建适当的响应。

如果签名匹配,则接受请求,并将 200 OK 返回给 GitHub(即客户端):

webhook-authentication1.png

如果签名不匹配,则请求在 Webhook端口的“输出”选项卡中显示为“错误”,并在返回给客户端 (GitHub) 的响应中显示为 500 错误:

webhook-authentication2.png

成功的请求在 Arc 中显示为“成功”:

webhook-authentication3.png

此外,对于失败的请求,可以直接在日志文件中看到 arc:throw 引发的自定义错误:

[2022-11-30T19:47:57.468] [Error] The signature provided in the request did not match the expected signature. The expected value is sha256=26bf09c078ddcf555a6a7cbd362c70e18e7233d0e4cfb056d2e00bc3ba8ee5e4

了解更多关于Webhook的信息。

了解更多 EDI 相关信息,请阅读:EDI是什么?

阅读原文:Webhook端口中的自签名身份验证

http://www.yayakq.cn/news/246787/

相关文章:

  • 哪里可以做产品购物网站江西住房与城乡建设厅网站
  • 关于网站集约化建设公函上海公司新能源过户个人
  • 泰安做网站网络公司模板式自助建站
  • 百度网站安全检测多用户商城 开源
  • 网站开发技术语言vue 做企业网站
  • 做名片赞机器人电脑网站是多少做网站多少钱一张页面
  • 2018年政务公开与网站建设总结广东建设部网站
  • 简单美食网站模板免费下载建立网站公司有哪些
  • 泰安网站建设流程夸克搜索
  • 株洲高端网站建设工作室网站开发数据如何转化
  • 建设产品网站婚纱摄影类网站模板
  • 海南网站建设公司企业网站建设 网络服务
  • 品牌网站建设小科6a蚪北京手机建站模板
  • 企业网站设计方式用模版做网站的好处和坏处
  • 了解网站建设的基本流程兰蔻搜索引擎营销案例
  • 一个公司做两个网站的多吗自己做网站需要缴费么
  • 网站快备南京美容网站建设
  • 高师本科化学实验教学体系建设与创新型人才培养 教学成果奖申报网站公众号开发需要提供什么
  • 杭州企业网站建设关联表单 WordPress
  • 南昌网站全新开发免费网站软件下载安装
  • 网站备案查询验证码错误wordpress qq企业邮箱
  • 网站后缀 .cgiWordPress用户分类
  • 用分布式做的网站如何在网站上推广自己的产品
  • 网站数据库连接错误功能网站建设多少钱
  • 2013网站设计装饰行业做网站
  • 做图兼职网站有哪些微商网站制作
  • 哪个网站做刷手最好导购网站怎么做的
  • 网站建设和备案北京平台网站建设哪家好
  • 遂溪手机网站建设公司旅游电商网站建设方案模板
  • 网站的主机选择网站框架与内容