Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lifeomic/twilio-webhook-validator-koa
Koa middleware for Twilio webhook request validation
https://github.com/lifeomic/twilio-webhook-validator-koa
koa team-skillspring twilio
Last synced: 3 months ago
JSON representation
Koa middleware for Twilio webhook request validation
- Host: GitHub
- URL: https://github.com/lifeomic/twilio-webhook-validator-koa
- Owner: lifeomic
- Created: 2019-02-26T18:42:32.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-11T19:57:13.000Z (5 months ago)
- Last Synced: 2024-10-03T09:30:59.144Z (4 months ago)
- Topics: koa, team-skillspring, twilio
- Language: TypeScript
- Size: 1.2 MB
- Stars: 5
- Watchers: 24
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# twilio-webhook-validator-koa
[![npm](https://img.shields.io/npm/v/@lifeomic/twilio-webhook-validator-koa.svg)](https://www.npmjs.com/package/@lifeomic/twilio-webhook-validator-koa)
[![Build Status](https://travis-ci.org/lifeomic/twilio-webhook-validator-koa.svg?branch=master)](https://travis-ci.org/lifeomic/twilio-webhook-validator-koa)
[![Greenkeeper badge](https://badges.greenkeeper.io/lifeomic/twilio-webhook-validator-koa.svg)](https://greenkeeper.io/)Koa middleware that provides Twilio request validation to Twilio webhooks.
# Example usage
```typescript
import * as Koa from 'koa';
import * as Router from 'koa-router';
import * as bodyParser from 'koa-bodyparser';
import { webhookValidator } from '@lifeomic/twilio-webhook-validator-koa';const app = new Koa();
const router = new Router();router.post(
'/twilio',
bodyParser(),
webhookValidator({
authToken: process.env.TWILIO_AUTH_TOKEN
}),
(ctx) => {
ctx.body = `Twilio request validation succeeded!
`;
}
);app.use(router.routes()).listen(3000);
```# Example usage with custom host and protocol (e.g. behind a proxy)
```typescript
webhookValidator({
authToken: process.env.TWILIO_AUTH_TOKEN,
host: ctx.header['x-forwarded-host'],
protocol: ctx.header['x-forwarded-proto']
});
```