Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 982 Bytes

README.md

File metadata and controls

32 lines (23 loc) · 982 Bytes

Go Request Verification

This example demonstrates how to verify webhook, app event, and app action requests from Contentful using HMAC-SHA256 in Go with the Gin framework. The server computes a signature from the request's method, path, headers, and body, then compares it to the signature provided by Contentful.

Requirements

  • Go 1.x
  • Gin framework

Setup

  1. Install Gin:
go get -u github.com/gin-gonic/gin
  1. Set the CONTENTFUL_SIGNING_SECRET environment variable:
export CONTENTFUL_SIGNING_SECRET="your_contentful_signing_secret_here"
  1. Run the application:
go run main.go

The server will start on http://0.0.0.0:8080.

Code Overview

  • verifyRequest: Verifies the incoming request's signature.
  • buildCanonicalString: Constructs the canonical string from the request method, path, signed headers, and body.
  • calculateSignature: Computes the HMAC SHA256 signature from the canonical string and secret.