Skip to content

Security plugin for FastAPI which allows you check Typeform signature in your webhook endpoint

License

Notifications You must be signed in to change notification settings

piterpy-meetup/fastapi-security-typeform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastapi-security-typeform

Security plugin for FastAPI which allows you check Typeform signature in your webhook endpoint.

How to setup signing flow for your typeform webhook

Current flow is here https://developer.typeform.com/webhooks/secure-your-webhooks/ (it's little bit a lie about working only via API)

tl;dr:

  • create a webhook via UI or API
  • generate random string (secret)
  • update a webhook via UI or API with your secret

How to use

Use pip or another package management util:

pip install fastapi-security-typeform

or

poetry add fastapi-security-typeform

or

pipenv install fastapi-security-typeform

Then initialize it with your webhook secret and pass it to endpoint as dependency.

It will raise 403 error if signature isn't valid.

from fastapi import Depends, FastAPI

from fastapi_security_typeform import SignatureHeader

app = FastAPI()
signature_header_security = SignatureHeader(secret=b'{your_secret}')

@app.post("/typeform_webhook")
def typeform_webhook(signature = Depends(signature_header_security)):
    ...
    return {"success": True}

About

Security plugin for FastAPI which allows you check Typeform signature in your webhook endpoint

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages