Webhook's signature verification
📦 Project Structure
cakewalk_webhook/
├── config.py
├── signature_service.py
├── models.py
├── main.py
├── requirements.txtconfig.py — 🔧 Configuration
config.py — 🔧 Configurationfrom pydantic import Field
from pydantic_settings import BaseSettings
class CakewalkSettings(BaseSettings):
api_key: str = Field(..., alias="CAKEWALK_API_KEY")
api_secret: str = Field(..., alias="CAKEWALK_API_SECRET")
public_key_endpoint: str = "<https://open-api.getcakewalk.io/api/Keys>"
class Config:
env_file = ".env"
settings = CakewalkSettings()signature_service.py — 🔐 Signature Verification Logic
signature_service.py — 🔐 Signature Verification Logicmodels.py — 📄 Webhook Payload (Example)
models.py — 📄 Webhook Payload (Example)main.py — 🚀 FastAPI App with Validation
main.py — 🚀 FastAPI App with Validationrequirements.txt
requirements.txt✅ .env File or Environment Variables
.env File or Environment Variables▶️ Run Your Webhook Server
📋 Prepare configuration options
1. Define a configuration class:
2. Register configuration in Program.cs or Startup.cs:
Program.cs or Startup.cs:🔐 Signature Verification with Remote Public Key
SignatureService Implementation:
SignatureService Implementation:🧪 Interface and Registration
Interface:
Dependency Injection in Program.cs:
Program.cs:🛡️ Implement the webhook endpoint with the validation logic
✅ Sample appsettings.json or environment variables
appsettings.json or environment variablesLast updated
Was this helpful?