简介
在开发过程中,我们经常需要使用 GitHub Webhooks 来实现一些自动化事务,如自动部署、自动化测试、自动化发布等等。为了保证 Webhooks 的安全性,GitHub 官方提供了对于每个 Webhooks 请求都会添加签名头信息,以确保该请求来自合法的源,只有这些请求才能够被接受。
github-express-webhook-verifying
是一个用于验证这些签名头信息的 npm 包,该包适用于使用 Express.js 的应用程序。
安装
- --- ------- -------------------------------- ------
使用方法
首先,我们需要在 GitHub 上创建一个 Webhook,具体的步骤可以参考文档。
我们需要在创建 Webhook 时设置一个“Secret”,该 Secret 将作为验证签名的密钥。我们需要确保在代码中引用的 Secret 与我们在 GitHub 上设置的 Secret 相同。
接下来,我们需要在我们的 Express 应用程序中设置一个路由来处理 Webhook 请求:
--- ------- - ------------------ --- ---------- - ---------------------- --- --------- - ------------------------------------------- --- --- - --------- -- -- ---------- --- -------------------------- ------------------------------- --------- ----- --- -- -- ------- -- -------------------- ------------------------- ------------- ---- - -- -- ------- -- --
其中,your_secret
是我们在创建 Webhook 时设置的 Secret。
示例代码
下面是一个完整的示例代码,它会监听到 push 事件,并进行一些自定义的处理:
--- ------- - ------------------ --- ---------- - ---------------------- --- --------- - ------------------------------------------- --- ---- - ----------------------------- --- --- - --------- -- -- ---------- --- -------------------------- ------------------------------- --------- ----- --- -- -- ------- -- -------------------- ------------------------- ------------- ---- - -- ----------- ------- -- --- ------- - -------- -- -------- -- ----------- --- -------------------- - --------------------- - ---- -------- -- --------- --------- --------- --------------- ------- ------- - -- ------- - ----------------------- ------ - ---------------------- ------- ---------------------- ------- -- - -- ------- ------------------- -- -- ------ ---------------- ---------- - -------------------- ------ -- ------- -- ---- ------ --
这是一个简单的自动化部署脚本,它会在收到 push 事件时自动执行 npm install
命令。
结论
使用 github-express-webhook-verifying
可以很容易地验证 GitHub Webhook 请求的签名头信息,从而保证请求来自合法的源。这一过程对于我们实现自动化事务的应用程序至关重要。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600557f581e8991b448d50e5