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.2.tar.gz (3.9 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for django-le-twitter-0.2.tar.gz
Algorithm Hash digest
SHA256 225e15202604984babcdc94bdf5f0abd445fd493641b83293c45092c7cfe47b2
MD5 97bbfcf2c5ef45e897b943bbfbb609a9
BLAKE2b-256 7d4b6ce4bd1f736b6c86c0354e648eee91ecfdb7c00d22bac1d75f4442f5eec7

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