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 deployment); or - set environment variables 
TWAUTH_APP_CONSUMER_KEYandTWAUTH_APP_CONSUMER_SECRET(cloud deployment) 
 - 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 Internet-accessible URL - do not attempt to connect via localhost, as this will not work. You can run a tunnel e.g.
ngrokfor local use, or deploy to a cloud platform such as Heroku (aProcfileis 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