Commit 6f5d1282 by James Henstridge

Rename package to django_openid_auth, since it differs from the

original now.  Add an example of @login_required to the example app.
parent 7f7c6f49
......@@ -2,28 +2,11 @@ import base64
import time
from django.db.models.query import Q
from openid.association import Association as OIDAssociation
from openid.store.interface import OpenIDStore
from openid.store.nonce import SKEW
from openid.yadis import xri
from models import Association, Nonce
class OpenID:
def __init__(self, openid, issued, attrs=None, sreg=None):
self.openid = openid
self.issued = issued
self.attrs = attrs or {}
self.sreg = sreg or {}
self.is_iname = (xri.identifierScheme(openid) == 'XRI')
def __repr__(self):
return '<OpenID: %s>' % self.openid
def __str__(self):
return self.openid
from django_openid_auth.models import Association, Nonce
class DjangoOpenIDStore(OpenIDStore):
......@@ -109,11 +92,3 @@ class DjangoOpenIDStore(OpenIDStore):
if count:
expired.delete()
return count
def from_openid_response(openid_response):
issued = int(time.time())
return OpenID(
openid_response.identity_url, issued, openid_response.signed_fields,
openid_response.extensionResponse('sreg', False)
)
from django.conf.urls.defaults import patterns
urlpatterns = patterns('django_openidconsumer.views',
urlpatterns = patterns('django_openid_auth.views',
(r'^login$', 'login_begin'),
(r'^complete$', 'login_complete'),
)
......@@ -15,9 +15,9 @@ from openid.consumer.discover import DiscoveryFailure
from openid.extensions import sreg
from auth import openid_authenticate
from util import DjangoOpenIDStore
from forms import OpenIDLoginForm
from django_openid_auth.auth import openid_authenticate
from django_openid_auth.forms import OpenIDLoginForm
from django_openid_auth.store import DjangoOpenIDStore
next_url_re = re.compile('^/[-\w/]+$')
......
......@@ -75,11 +75,20 @@ INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django_openidconsumer',
'django_openid_auth',
)
# Should users be created when new OpenIDs are used to log in?
OPENID_CREATE_USERS = True
# When logging in again, should we overwrite user details based on
# data received via Simple Registration?
OPENID_UPDATE_DETAILS_FROM_SREG = True
# If set, always use this as the identity URL rather than asking the
# user. This only makes sense if it is a server URL.
OPENID_SSO_SERVER_URL = 'https://login.launchpad.net/'
# Tell django.contrib.auth to use the OpenID signin URLs.
LOGIN_URL = '/openid/login'
LOGIN_REDIRECT_URL = '/'
......@@ -3,8 +3,8 @@ import views
urlpatterns = patterns('',
(r'^$', views.index),
(r'^openid/login$', 'django_openidconsumer.views.login_begin'),
(r'^openid/login/complete$', 'django_openidconsumer.views.login_complete'),
(r'^openid/login$', 'django_openid_auth.views.login_begin'),
(r'^openid/login/complete$', 'django_openid_auth.views.login_complete'),
(r'^openid/logout$', 'django.contrib.auth.views.logout'),
(r'^next-works/$', views.next_works),
(r'^private/$', views.require_authentication),
)
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
from django.utils.html import escape
def index(request):
s = ['<p>']
if request.user.is_authenticated():
......@@ -13,7 +14,15 @@ def index(request):
s.append('<a href="/openid/login">Sign in with OpenID</a>')
s.append('</p>')
s.append('<p><a href="/private">This requires authentication</a></p>')
return HttpResponse('\n'.join(s))
def next_works(request):
return HttpResponse('?next= bit works. <a href="/">Home</a>')
@login_required
def require_authentication(request):
return HttpResponse('This page requires authentication')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment