A simple Python + Flask web app that demonstrates the flow of obtaining a Twitter user OAuth access token.
- Obtain consumer key and secret from the Twitter Developer portal. The app should be configured to enable Sign in with Twitter. See
twauth-web.py
for more details, but you can either:- add these values to a
config.cfg
file (local deployment); or - set environment variables
TWAUTH_APP_CONSUMER_KEY
andTWAUTH_APP_CONSUMER_SECRET
(cloud deployment)
- add these values to a
- Setup a pipenv environment, and install dependencies:
pipenv install
pipenv shell
- Start the app:
python3 ./twauth-web.py
; orgunicorn twauth-web:app
Note: the app must have an Internet-accessible URL - do not attempt to connect via localhost, as this will not work. You can run a tunnel e.g.
ngrok
for local use, or deploy to a cloud platform such as Heroku (aProcfile
is included).
Open a browser window on your demo app's external URL. Don't click the buttons yet!
Finally, revisit the dev portal, and add your app's callback URL (https://your-deployed-url/callback
) to the callback URL whitelist setting. Once saved, follow the instructions on the app's web UI to click through the demo pages.
Twitter Developer Portal
Flask
python-oauth2
Bootstrap
Original version by Jacob Petrie
https://twitter.com/jaakkosf
https://github.com/jaakko-sf/twauth-web