Tôi đang sử dụng một webhook GitHub cho các sự kiện ống đến một ứng dụng của tôi (một thể hiện của Hubot của GitHub) và nó được bảo mật bằng một bí mật sha1.GitHub Webhook Secret Không bao giờ xác nhận
Tôi đang sử dụng đoạn mã sau để xác nhận băm trên webhooks đến
crypto = require('crypto')
signature = "sha1=" + crypto.createHmac('sha1', process.env.HUBOT_GITHUB_SECRET).update(new Buffer request.body).digest('hex')
unless request.headers['x-hub-signature'] is signature
response.send "Signature not valid"
return
Phần header X-Hub-Chữ ký qua trong webhook trông như thế này
X-Hub-Chữ ký : sha1 = 1cffc5d4c77a3f696ecd9c19dbc2575d22ffebd4
Tôi đang chuyển chính và dữ liệu chính xác theo tài liệu của GitHub, nhưng hàm băm luôn kết thúc s lên khác nhau.
Đây là tài liệu của GitHub. https://developer.github.com/v3/repos/hooks/#example
và đây là phần mà tôi đang rất có thể hiểu sai
bí mật: Một chuỗi không bắt buộc đó là thông qua với các yêu cầu HTTP như một tiêu đề X-Hub-Chữ ký. Giá trị của tiêu đề này được tính như là bản phân tích hex HMAC của cơ thể, sử dụng bí mật làm khóa.
Có ai có thể thấy tôi đang đi đâu không?
Dường như không hoạt động đối với tôi – ditoslav
Điều quan trọng cần lưu ý là hookit GitHub * phải * có Content-Type được đặt thành 'application/json'. Bạn sẽ tìm thấy các cài đặt này trên trang cấu hình webhook. https://github.com/MY_ORG/MY_REPO/settings/hooks/HOOK_ID#delivery-response –
Giống như trạng thái @MrClean, hãy sử dụng ứng dụng/json! – Mattis