This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

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'),
)
Release History

Release History

This version
History Node

0.2

History Node

0.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-le-twitter-0.2.tar.gz (3.9 kB) Copy SHA256 Checksum SHA256 Source Apr 3, 2011

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting