Skip to main content

Twitter authentication that sucks

Project description

Twitter authentication that sucks.

Django-le-twitter provides almost nothing to let your users sign in with twitter: two class-based views.

Django-le-twitter is based on Django >= 1.3 and Tweepy.

The concept is simple: when a user successfully logs in using twitter (i.e. you get a valid OAuth token), django-le-twitter executes a method that you define. There is no model instance created, no login using contrib.auth, no nothing. You decide.

Installation

pip install django-le-twitter

There’s nothing to add to your INSTALLED_APPS. It just needs to be in your python path. You need to add your Twitter app credentials to your Django settings:

CONSUMER_KEY = 'your key'
CONSUMER_SECRET = 'your secret'

Usage

Subclass the two views provided by django-le-twitter in one of your apps’ views. Actually, one of them doesn’t strictly need to be subclassed.

# app/views.py
from django.http import HttpResponse

from le_twitter import views

authorize = views.Authorize.as_view()

class Return(views.Return):

    def handle_error(self, error_msg, exception=None):
        return HttpResponse(error_msg)

    def handle_success(self, auth):
        # Now it's up to you!
        return HttpResponse('It worked!')
return_ = Return.as_view()

handle_success() gives you a tweepy.OAuth object containing your user’s OAuth credentials. At this point you can:

  • Fetch information using the tweepy API

  • Create an auth.User instance and link it to a custom twitter profile

handle_success() just needs to return an HttpResponse.

After that, just hook your custom views in your app urlconf:

# app/urls.py
from django.conf.urls.defaults import patterns, url

from app.views import authorize, return_

urlpatterns = patterns(''
    url(r'^oauth/authorize/$', authorize, name='oauth_authorize'),
    url(r'^oauth/return/$', return_, name='oauth_return'),
)

Project details


Download files

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

Source Distribution

django-le-twitter-0.1.tar.gz (3.9 kB view details)

Uploaded Source

File details

Details for the file django-le-twitter-0.1.tar.gz.

File metadata

File hashes

Hashes for django-le-twitter-0.1.tar.gz
Algorithm Hash digest
SHA256 86a732c786ec920a46073050088a1628efffbcbfd082f8e828038b0774b8afc0
MD5 585a0a3958753c19366e23342dbee44f
BLAKE2b-256 c90bac030a203e503ab7b7ee640294b36a48e628acc787e6e2fdea12f5a9068d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page