Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
foauth.org makes OAuth optional. A Runscope Community Project.
Python HTML CSS Shell
Branch: master
Pull request Compare This branch is 2 commits ahead of foauth:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
blog
foauth
services
static
templates
tests
.gitignore
LICENSE
Procfile
README.rst
config.py
forms.py
local.py
models.py
pelican.conf.py
requirements.txt
setup.py
web.py

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.