Drop-in App Engine OAuth client handlers for many popular sites.
This is a collection of drop-in Google App Engine request handlers for the initial OAuth client flows for many popular sites, including Blogger, Dropbox, Facebook, Flickr, Google+, IndieAuth, Instagram, Medium, Twitter, Tumblr, and WordPress.com.
- Available on PyPi. Install with pip install oauth-dropins.
- Click here for getting started docs.
- Click here for reference docs.
- A demo app is deployed at oauth-dropins.appspot.com.
- Source in GitHub.
Here’s a full example of using the Facebook drop-in.
- Put your Facebook application’s’s ID and secret in two plain text files in your app’s root directory, facebook_app_id and facebook_app_secret. (If you use git, you’ll probably also want to add them to your .gitignore.)
- Create a facebook_oauth.py file with these contents:
from oauth_dropins import facebook import webapp2 application = webapp2.WSGIApplication([ ('/facebook/start_oauth', facebook.StartHandler.to('/facebook/oauth_callback')), ('/facebook/oauth_callback', facebook.CallbackHandler.to('/next'))]
- Add these lines to app.yaml:
- url: /facebook/(start_oauth|oauth_callback) script: facebook_oauth.application secure: always
Voila! Send your users to /facebook/start_oauth when you want them to connect their Facebook account to your app, and when they’re done, they’ll be redirected to /next?access_token=... in your app.
All of the sites provide the same API. To use a different one, just import the site module you want and follow the same steps. The filenames for app keys and secrets also differ by site; appengine_config.py has the full list.