Reusable application for Django, introducing OAuth2 server functionality.
Python HTML
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs Year updated. Aug 28, 2016
oauthost
.codeclimate.yml
.coveragerc
.landscape.yaml
.travis.yml
AUTHORS
CHANGELOG
INSTALL
LICENSE
MANIFEST.in
README.rst
setup.cfg
setup.py
tox.ini

README.rst

django-oauthost

http://github.com/idlesign/django-oauthost

https://landscape.io/github/idlesign/django-oauthost/master/landscape.svg?style=flat

What's that

Reusable application for Django to protect your apps with OAuth 2.0.

It allows to guard your application views with OAuth 2.0 in quite a trivial way.

  1. Register your client using Django Admin or API:
from oauthost.toolbox import register_client

...

# Define some scopes to restrict our client to (if required).
my_scopes = ['polls:vote']

# `user` might be `request.user` if in a view.
register_client('My OAuth Client', 'my_client',
                'http://someurl.com/myclient/', user, scopes_list=my_scopes)

...
  1. Decorate your views with oauth_required (suppose in polls.views):
from oauthost.decorators import oauth_required

@oauth_required(scope_auto=True)
def vote(request, poll_id, variant_id):
    ...
  1. Attach oauthost.urls to project urls (in urls.py):
from oauthost.urls import urlpatterns as oauthost_urlpatterns

urlpatterns = ...  # Your actual urlpatterns are ommited.

urlpatterns += oauthost_urlpatterns

Now authorization endpoint is available at { BASE_URL }auth/ and token endpoint is available at { BASE_URL }token/.

That's all for oauthost, connect using your client.

More information is available, read the docs!

Documentation

http://django-oauthost.readthedocs.org/