Skip to main content

Drop-in App Engine OAuth client handlers for many popular sites.

Project description

https://raw.github.com/snarfed/oauth-dropins/master/oauth_dropins/static/oauth_shiny_128.png https://circleci.com/gh/snarfed/oauth-dropins.svg?style=svg https://coveralls.io/repos/github/snarfed/oauth-dropins/badge.svg?branch=master

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.

Quick start

Here’s a full example of using the Facebook drop-in.

  1. Install oauth-dropins into your App Engine app.
  1. 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.)
  1. 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'))]
  1. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for oauth-dropins, version 1.12
Filename, size File type Python version Upload date Hashes
Filename, size oauth-dropins-1.12.tar.gz (828.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page