Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
foauth.org makes OAuth optional. A Runscope Community Project.
branch: master

README.rst

foauth.org: OAuth for one

OAuth is a great idea for interaction between big sites with lots of users. But, as one of those users, it's a pretty terrible way to get at your own data. That's where foauth.org comes in, giving you access to these services using HTTP Basic, which is easily available in hundreds of existing tools, such as requests

>>> import requests
>>> auth = 'email@example.com', 'password'
>>> data = {'status': "Just signed up with http://foauth.org/ and it's awesome! Thanks @Gulopine!"}
>>> requests.post('https://foauth.org/api.twitter.com/1/statuses/update.json', data=data, auth=auth)
>>> r = requests.get('https://foauth.org/api.twitter.com/1/statuses/user_timeline.json', auth=auth)
>>> r.json[0]['text']
"Just signed up with http://foauth.org/ and it's awesome! Thanks @Gulopine!"

Implementation

foauth.org uses the OAuth support from requests (powered by oauthlib) to handle the OAuth signatures, behind Flask for interacting with users. Currently, requests and oauthlib only fully support OAuth 1.0, so the current crop of supported providers only includes those that use 1.0. Once requests and oauthlib land full support for OAuth 2.0, another list of providers can be added as well.

Providers themselves are implemented as Python classes that inherit from base OAuth support. This means that new providers can be requested and added using GitHub's pull requests. Documentation for how to define these provider classes is still forthcoming.

Credits

A Runscope Community Project. Originally created by Marty Alchin.

Something went wrong with that request. Please try again.