hueyy / utterances-oauth

:lock: OAuth flow for utterances, utterance-bot APIs

Home Page:https://utteranc.es

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

utterances-oauth

This repo contains the source for the Cloudflare Worker that powers the GitHub OAuth flow and issue creation for Utterances.

install

yarn install

configuration

Create a file named .env at the root. File should have the following values:

  • BOT_TOKEN: a personal access token that will be used when creating GitHub issues.
  • CLIENT_ID: The client id to be used in the GitHub OAuth web application flow
  • CLIENT_SECRET: The client secret for the OAuth web application flow
  • STATE_PASSWORD: 32 character password for encrypting state in request headers/cookies. Generate here.
  • ORIGINS: comma delimited list of permitted origins. For CORS.
  • WEBHOOK_SECRET: this is for a future feature. for now, make sure you include it (it can just be an empty string) or an error will be thrown
  • CLOUDFLARE: the CloudFlare environment variables are explained in the @cfworker/dev docs. just be sure to use an API key rather than an API token, despite the fact that the CloudFlare documentation seems to suggest you should do the latter

Example:

BOT_TOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
CLIENT_ID=aaaaaaaaaaaaaaaaaaaa
CLIENT_SECRET=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
STATE_PASSWORD=01234567890123456789012345678901
ORIGINS=https://utteranc.es,http://localhost:9000
WEBHOOK_SECRET=""
CLOUDFLARE_EMAIL=
CLOUDFLARE_API_KEY=
CLOUDFLARE_ZONE_ID=
CLOUDFLARE_ACCOUNT_ID=
CLOUDFLARE_WORKERS_DEV_PROJECT=

run locally

yarn run start

build

yarn run build

deploy

First add the necessary CLOUDFLARE_* entries to your .env file. See @cfworker/dev README for more information.

Then execute:

yarn run deploy

Notes to self

About

:lock: OAuth flow for utterances, utterance-bot APIs

https://utteranc.es

License:MIT License


Languages

Language:TypeScript 100.0%