Xác thực Webhook GitHub an toàn bằng HMAC256 - Quy trình làm việc n8n

Bảo mật các webhook GitHub của bạn trong n8n bằng cách xác thực HMAC-SHA256. Mẫu workflow n8n này đảm bảo tính xác thực và toàn vẹn của dữ liệu webhook đến một cách hiệu quả.

Xem trước Workflow

Sẵn sàng tự động hóa chưa?

Tải xuống mẫu quy trình làm việc n8n này và bắt đầu sử dụng ngay lập tức.

Đối tượng phù hợp

Kỹ sư DevOps và Bảo mật: Các chuyên gia cần đảm bảo tính xác thực của các sự kiện tự động nhận được.
Người dùng n8n nâng cao: Bất kỳ ai xây dựng webhook công khai đòi hỏi các kiểm tra bảo mật mạnh mẽ.
Lập trình viên: Người dùng tích hợp các quy trình GitHub và tìm kiếm các mẫu n8n đáng tin cậy, an toàn để triển khai.
Chuyên gia Tự động hóa: Những người cần kiểm soát luồng logic cốt lõi nâng cao trong các workflow n8n của họ.

Tổng quan

Tính toàn vẹn và xác thực của các yêu cầu webhook là tối quan trọng đối với việc tự động hóa bảo mật. Nếu không có xác thực chữ ký, workflow n8n của bạn có thể dễ bị tấn công bởi các yêu cầu trái phép hoặc độc hại. Workflow n8n thiết yếu này cung cấp một lớp bảo mật mạnh mẽ bằng cách triển khai xác thực HMAC-SHA256, chính xác như GitHub khuyến nghị. Giá trị cốt lõi của mẫu n8n này là khả năng sao chép phép tính chữ ký được thực hiện bởi GitHub, sử dụng một khóa bí mật chung. Thiết lập này đảm bảo rằng các node n8n phía sau của bạn chỉ thực thi khi nhận được dữ liệu đã được xác minh, chưa bị can thiệp, có nguồn gốc từ kho lưu trữ GitHub đã cấu hình của bạn. Phương pháp này làm cho đây trở thành một trong những mẫu n8n an toàn và đáng tin cậy nhất để tích hợp với các nền tảng kiểm soát nguồn.

Cách thức hoạt động

Quy trình bảo mật bắt đầu bằng trigger Webhook GitHub n8n, lắng nghe các yêu cầu POST đến. Khi nhận được yêu cầu, workflow ngay lập tức chuyển payload đến node Compute HMAC256 n8n. Node này tính toán chữ ký HMAC-SHA256 của nội dung JSON thô bằng cách sử dụng khóa bí mật được xác định trong quá trình thiết lập webhook GitHub. Node If Validate HMAC256 n8n tiếp theo thực hiện kiểm tra bảo mật quan trọng: nó so sánh chữ ký vừa được tính toán với giá trị được cung cấp trong tiêu đề x-hub-signature-256 đến (sau khi trích xuất hash).

Nếu xác thực thành công (các chữ ký khớp), workflow xác nhận tính xác thực của yêu cầu bằng cách gửi phản hồi 200 OK qua node Respond to Webhook n8n, cho phép phần còn lại của workflow n8n tiếp tục (ví dụ: thực thi node GitHub n8n giữ chỗ).

Nếu xác thực thất bại, workflow ngay lập tức gửi phản hồi 401 Unauthorized qua một node Respond to Webhook n8n riêng biệt, báo hiệu sự thất bại cho GitHub. Sau đó, node Stop and Error n8n sẽ dừng việc thực thi và ghi lại lỗi bảo mật, đảm bảo không có mã trái phép nào chạy trong workflow n8n này.

Hướng dẫn cài đặt


  1. Nhập workflow n8n: Sao chép JSON được cung cấp và nhập trực tiếp vào phiên bản n8n của bạn.

  2. Thiết lập Webhook: Lưu ý đường dẫn do trigger Webhook GitHub n8n cung cấp (ví dụ: /github-test). Sử dụng URL đầy đủ này trong cài đặt webhook của kho lưu trữ GitHub của bạn.

  3. Đặt Khóa Bí mật: Điều quan trọng là cập nhật tham số Secret trong node Compute HMAC256 n8n. Giá trị này phải giống hệt với khóa bí mật bạn đã cấu hình trong cài đặt webhook GitHub.

  4. Cấu hình Thông tin xác thực: Đảm bảo node GitHub n8n Get the profile of a repository giữ chỗ đã được cấu hình thông tin xác thực API GitHub hợp lệ nếu bạn dự định sử dụng phần mẫu n8n này để tự động hóa thêm.

  5. Kích hoạt: Đặt workflow n8n ở trạng thái kích hoạt. Kiểm tra bảo mật hiện đã hoạt động cho tất cả các cuộc gọi webhook đến.

Chi tiết Node

GitHub Webhook (trigger n8n): Điểm vào của workflow n8n bảo mật này. Nó lắng nghe các yêu cầu POST đến từ GitHub tại một đường dẫn cụ thể, được cấu hình để chờ phản hồi từ node tiếp theo.
Compute HMAC256 (node Crypto n8n): Thành phần bảo mật thiết yếu. Nó sử dụng loại băm SHA256 và hành động HMAC để tính toán chữ ký dựa trên JSON.stringify($json.body). Kết quả được lưu vào signature-256.
Validate HMAC256 (node If n8n): Thực hiện so sánh quan trọng. Nó kiểm tra xem giá trị được tính toán ($json['signature-256']) có bằng với giá trị được trích xuất từ tiêu đề x-hub-signature-256 hay không. Logic này kiểm soát luồng của toàn bộ workflow n8n.
Respond 200 OK & Respond 401 Unauthorized (node Respond to Webhook n8n): Các node này xử lý giao tiếp ngược lại với GitHub, xác nhận thành công (200) hoặc từ chối (401) quy trình xác thực.
Stop and Error (node n8n): Được sử dụng trên đường dẫn bị từ chối (401) để ghi lại lỗi một cách rõ ràng và ngăn chặn việc thực thi workflow n8n tiếp tục, điều này rất tốt cho việc giám sát các sự cố bảo mật.
Get the profile of a repository (node GitHub n8n): Một phần giữ chỗ cho tất cả các logic nghiệp vụ tiếp theo, được ủy quyền sau khi webhook được xác minh. Thay thế node n8n này bằng các bước tự động hóa cần thiết của bạn.

Các quy trình n8n liên quan

miễn phí

Node: 7 Node
Đã cập nhật: Tháng 12 26 2025
Xem tất cả
Tạo bởi

Đặc sắc*