标签: webhooks

验证 Shopify webhook

我相信要将 Shopify webhook 与 Rails 应用程序集成,Rails 应用程序需要禁用默认verify_authenticity_token方法,并使用标头实现自己的身份验证X_SHOPIFY_HMAC_SHA256Shopify 文档说只使用request.body.read. 所以,我这样做了:

def create
    verify_webhook(request)

    # Send back a 200 OK response
    head :ok
end

def verify_webhook(request)
    header_hmac = request.headers["HTTP_X_SHOPIFY_HMAC_SHA256"]
    digest = OpenSSL::Digest.new("sha256")
    request.body.rewind
    calculated_hmac = Base64.encode64(OpenSSL::HMAC.digest(digest, SHARED_SECRET, request.body.read)).strip

    puts "header hmac: #{header_hmac}"
    puts "calculated hmac: #{calculated_hmac}"

    puts "Verified:#{ActiveSupport::SecurityUtils.secure_compare(calculated_hmac, header_hmac)}"
end
Run Code Online (Sandbox Code Playgroud)

Shopify Webhook 定向到正确的 URL,并且路由将其提供给上面显示的控制器方法。但是当我发送测试通知时,输出不正确。两个HMAC不相等,因此未验证。我相当确定问题在于 Shopify 使用整个请求作为身份验证哈希的种子,而不仅仅是 POST 内容。所以,我需要原始的、未受影响的 HTTP 请求,除非我弄错了。

经过至少一个小时的搜索后,这个问题似乎是互联网上唯一有希望的问题。这正是我要问的,并且得到了 30 票赞成的接受答案。但他的回答……很荒谬。它吐出各种难以理解的、乱码的东西。我错过了一些明显的东西吗?

此外,这篇文章似乎表明我正在寻找的东西是不可能的。似乎 Rails 从未收到过纯粹的请求,但在到达 Rails 之前,Rack …

ruby-on-rails http http-post webhooks shopify

3
推荐指数
1
解决办法
2488
查看次数

调查猴子 Webhook

创建 webhook 后,当我填写表单时,它会向我的 API 发送 POST 请求,但正文为空。

我在互联网上找不到任何东西,SM 文档还有很多不足之处。

我的API

async testWebhook({ request, response }) {
   console.log('request.body', request.body)
   response.status(200).send()
   return
}
Run Code Online (Sandbox Code Playgroud)

会是什么?

webhooks node.js surveymonkey

3
推荐指数
1
解决办法
941
查看次数

Azure Automation Runbook 无法将 webhook 数据解析为 JSON 对象

我对这个问题深感震惊。我请求您回答或给予提示。我已经没有选择了。

我通过 WebHook 在 CPU 利用率较高时调用 azure runbook。我的问题是 Runbook 内部数据未正确解码。例如,下面的行不打印任何内容。

 Write-Output $WebHookData.RequestHeader
Run Code Online (Sandbox Code Playgroud)

如果我尝试将数据显式转换为 JSON,就像这样

*$WebhookData = ConvertFrom-Json $WebhookData*
Run Code Online (Sandbox Code Playgroud)

那么这是一个投掷错误。

ConvertFrom-Json:无效的 JSON 原语:。在行:6 字符:31 + $WebhookData = $WebhookData | 从 Json 转换

顺便说一句,我正在尝试使用 Azure 库上提供的 Runbook {使用 Azure 自动化垂直扩展 Azure 资源管理器 VM}

我的 Webhook 是从虚拟机上创建的警报调用的。

一个非常奇怪的观察:

工作 WebHood 示例(在示例中找到) {"WebhookName":"test1","RequestBody":" [ \r\n {\r\n \"Message\": \"Test Message\"\r\n } \r\n****]****"

不工作(从虚拟机调用 Runbook 时发送的数据):

{"WebhookName":"test2","RequestBody":" { \"schemaId\":\"AzureMonitorMetricAlert\" } }

谢谢

powershell webhooks azure-autoscaling-block azure-automation azure-runbook

3
推荐指数
1
解决办法
4767
查看次数

我们的 MS Graph Webhook 未收到删除 AAD 中用户的请求

我们创建了一个 Webhook,用于在从 Azure AD 删除用户时接收“删除”通知。但当我们删除用户时,我们没有收到任何通知。在 AAD 中,用户首先被放入回收站,但如果我们从回收站中删除用户,我们也不会收到任何通知。我们已经尝试过接收电子邮件的代码 -> 有效。通过更改 AAD 中的用户 -> 这也有效。因此我们将“更新”更改为“删除”,并且不会触发任何调用。

我们从文档(https://learn.microsoft.com/en-us/graph/webhooks)和微软提供的示例代码(https://github.com/microsoftgraph/aspnet-webhooks-rest-sample)开始

我们使用权限范围:User.Read.All 和 Directory.Read.All

Graph Webhook 订阅:资源:“users”ChangeType:“deleted”

当我们将“updated”指定为 ChangeType 时,我们如预期收到了通知。但 ChangeType“已删除”没有发出任何通知。这是不支持的,还是我们缺少权限......我希望有人可以提供帮助。

azure webhooks azure-active-directory microsoft-graph-api

3
推荐指数
1
解决办法
1112
查看次数

如何通过环聊聊天中的 webhook 将响应发送到同一线程

我可以通过应用程序脚本通过 webhooks 向聊天室发送消息,但是我如何发送对该消息的回复。这是一种单向聊天。我如何才能通过 webhooks 将其作为对话流。

webhooks google-hangouts

3
推荐指数
1
解决办法
7000
查看次数

Webhooks 和 CI/CD 之间的区别

我知道 Webhook 用于从托管 git 存储库触发服务器端操作,CI/CD 代表托管 git 存储库的持续集成和持续部署/交付,但关键区别是什么,特别是当它们都是时由单个 git 托管服务提供商(如 GitLab 或 GitHub)提供吗?(对于 GitLab,这些指的是 Webhooks 和 CI/CD,而对于 GitHub,这些指的是 Webhooks 和 GitHub Actions。)

文档模糊地详细说明了 Webhook 如何以及如何用于触发 CI/CD,但与此同时,即使没有将显式 Webhook 添加到 git 存储库,供应商提供的 CI/CD 也可以运行。这是否意味着每个使用供应商提供的 CI/CD 的托管 git 存储库背后都有一个 Webhook?

我从上面的理解是,显式 Webhooks(与底层 Webhook 相反)可用于触发第 3 方 CI/CD,而 git 托管服务提供商的 CI/CD 是由同一方托管和运行的。它是否正确?

非常感谢发布答案的人。

git continuous-integration webhooks continuous-deployment github-actions

3
推荐指数
1
解决办法
2583
查看次数

与 Amazon EC2 的 Webhook

我使用 EC2 实例来托管我的网站,并且当前(尝试)使用webhook库和 Github Webhooks设置自动部署管道。我正在遵循 webhook 存储库以及这篇博文的指南(我理解它是用于数字海洋的东西,但我认为同样的东西通常适用)。

\n\n

我能够在我的 EC2 实例 \xe2\x80\x93 上设置正确的配置文件,我必须指定 Webhook 库提供/使用来自实例私有IP地址的内容,这是(根据我的理解)通过分配给实例的弹性 IP 自动进行 NAT。这是我当前的hooks.json文件:

\n\n
[{\n    "id": "autodeploy",\n    "execute-command": "/home/ubuntu/webhooks/autodeploy/deploy.sh",\n    "command-working-directory": "/home/ubuntu/site",\n    "response-message": "Executing deploy script..."\n}]\n
Run Code Online (Sandbox Code Playgroud)\n\n

根据文档,这告诉 webhook,当某个端点被GET/请求命中时,将执行POST由 表示的路径中的脚本。execute-command要实际启动服务器来接收这些GET/POST请求,我运行以下命令(并获得以下输出):

\n\n
ubuntu@ip-xxx-xx-xx-xxx:~/webhooks$ webhook -hooks hooks.json -ip "xxx-xx-xx-xxx" -verbose\n[webhook] 2019/12/22 08:30:48 version 2.5.0 starting\n[webhook] 2019/12/22 08:30:48 setting up os signal watcher\n[webhook] 2019/12/22 08:30:48 attempting to load hooks from hooks.json\n[webhook] 2019/12/22 …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 webhooks amazon-web-services

3
推荐指数
1
解决办法
2828
查看次数

Stripe:处理多个 Webhook

我正在开发一个项目,该项目有两种类型的产品:订阅事件注册

我对两者都使用Stripe Checkout Session。由于他们的流程不同,我使用了两个 webhook;每人一份。

例如:
http://example.com/payment/subscription_webhooks.php
http://example.com/payment/event_webhooks.php

问题是,一旦结账会话完成,无论是订阅还是事件注册,两个 webhook 都会被触发

我正在寻找一种解决方案来定义应触发哪个 webhook。

php payment webhooks stripe-payments

3
推荐指数
1
解决办法
2627
查看次数

Sonarqube Webhook 对 Jenkins Localhost 无效

我使用 Sonarqube Server Community EditionVersion 8.4.1(内部版本 35646)和 Jenkins Server 2.235.5 进行测试。两者都在同一台机器上。

我尝试按照一些教程在我的 Jenkins Pipeline 中实现 Sonarqube 功能。

这是我定义 Sonarqube 实现的管道阶段/步骤:

在此输入图像描述

当我想在 Sonarqube 中定义 Webhook 时,会出现以下消息:

在此输入图像描述

我已经尝试使用其他名称更新 Windows 主机文件,但没有工作:(

pipeline webhooks jenkins sonarqube

3
推荐指数
1
解决办法
2569
查看次数

此页面的安全验证无效并且可能已损坏。请使用网络浏览器的后退按钮重试您的操作

我正在尝试为共享点列表创建一个网络挂钩。不幸的是,唯一的方法是通过调用 API。因此,我调用 API 来创建自己的 Web 挂钩,连接到我的共享点站点中的自定义列表。

我在我的共享点网站中打开了 Chrome 中的开发工具,并使用了以下代码:

fetch("https://my-org.sharepoint.com/sites/my-site/_api/web/lists('list-id')/subscriptions", {
  "headers": {
    "accept": "application/json",
    "content-type": "application/json",
  },
  "body": "{\"resource\":\"https://my-org.sharepoint.com/sites/my-site/_api/web/lists('list-id')\",\"notificationUrl\":\"http://my-ngrok-id.ngrok.io\",\"expirationDateTime\":\"2021-11-03T21:54:41.000\"}",
  "method": "POST",
});
Run Code Online (Sandbox Code Playgroud)

但它给出了一个403错误:

{
    "odata.error": {
        "code": "-2130575251, Microsoft.SharePoint.SPException",
        "message": {
            "lang": "en-US",
            "value": "The security validation for this page is invalid and might be corrupted. Please use your web browser's Back button to try your operation again."
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

sharepoint webhooks sharepoint-2013 sharepoint-rest-api

3
推荐指数
1
解决办法
1万
查看次数