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.pyfor more details, but you can either:- add these values to a
config.cfgfile (local); or - set environment variables
TWAUTH_APP_CONSUMER_KEYandTWAUTH_APP_CONSUMER_SECRET(cloud or local)
- add these values to a
- Setup a pipenv environment, and install dependencies:
pipenv installpipenv shell
- Start the app:
python3 ./twauth-web.py; orgunicorn twauth-web:app
Note: the app must have an externally-accessible URL (i.e do not attempt to connect via localhost). You can run a tunnel e.g. ngrok for local use, or deploy to a cloud environment such as Heroku (a Procfile 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 (http[s]://your-deployed-url/callback) to the callback URL whitelist setting, before attempting 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