Skip to main content

Django OAuth Backend

Django OAuth Backend is a set of Django models which are required for implementing OAuth protocol on the server side. Those models can be used together with various other projects which implement HTTP part of the protocol. One such projects is lazr.authentication.

Usage

Usage is quite simple.

First thing is to add this application to Django’s INSTALLED_APPS list:

INSTALLED_APPS = (
    ...
    'oauth_backend'
)

Next is to integrate it with OAuth protocol provider, like lazr.authentication. It will look something like that:

# Application's WSGI file
from django.core.handlers.wsgi import WSGIHandler
from lazr.authentication.wsgi import OAuthMiddleware
from oauth_backend.models import DataStore, Consumer, Token


def oauth_authenticate(oauth_consumer, oauth_token, parameters):
    try:
        consumer = Consumer.objects.get(
            user__username=oauth_consumer.key
        )
        token = Token.objects.get(token=oauth_token.key)
        if token.consumer.key == oauth_consumer.key:
            return consumer.user
    except (Token.DoesNotExist, Consumer.DoesNotExist):
        return None


django = WSGIHandler()
application = OAuthMiddleware(
    django,
    authenticate_with=oauth_authenticate,
    data_store=DataStore(),
    protect_path_pattern="/protected"
)

History

This code was extracted from Canonical Identity Provider project. Although an extra effort was made to make sure that all dependencies are broken and this code is fully independent, it’s conceivable that some small things were missed. In that case please report those bugs on the project’s bug page.

Release files for django-oauth-backend 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-oauth-backend 0.2.3
File Size Uploaded
django-oauth-backend-0.2.3.tar.gz 6.3 kB Details

Release files / django-oauth-backend-0.2.3.tar.gz

Download URL django-oauth-backend-0.2.3.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5e0c49dc1b5f289e9cae3042992f750f6bace6f0c01da9c0cac1849c8651b0e2
BLAKE2b-256 checksum
How to use checksums
2f0692bf0e3754f9d5fddb111f222a6b5b486eb4c31784da0b5ef17aabc3e9eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.3 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page