django-pyroven

Software screenshot:
django-pyroven
Software detaljer:
Version: 0.9
Upload dato: 20 Feb 15
Udvikler: Andrew Ryrie
Licens: Gratis
Popularitet: 0

Rating: 5.0/5 (Total Votes: 2)

django-pyroven er en Django app, der giver et Django autentificering backend som kan føjes til AUTHENTICATION_BACKENDS i Django indstillinger modul:
AUTHENTICATION_BACKENDS = (
& Nbsp; "pyroven.pyroven_django.RavenAuthBackend«,
& Nbsp; 'django.contrib.auth.backends.ModelBackend'
)
Dette gør det muligt både normal Django login og Raven login.
Alt hjælp pyroven bør sørge for, at konfiguration tillader; dette gøres ved at sætte config variabel i Raven singleton klasse:
fra pyroven import RavenConfig
fra pyroven.pyroven_django import Raven
def konfigurere ():
& Nbsp; r = Raven ()
& Nbsp; hvis r.config er None:
& Nbsp; r.config = RavenConfig ("raven.ini")
Login-side skal omdirigere brugere til Raven:
def raven_login (anmodning):
& Nbsp; # Sikre vi er konfigureret korrekt
& Nbsp; configure ()
& Nbsp; # Få Raven objekt og returnere en omdirigering til Raven-serveren
& Nbsp; r = Raven ()
& Nbsp; tilbagevenden r.get_login_redirect ()
Når brugeren har autentificeret med Raven vil Raven serveren omdirigere dem tilbage til dit websted (den nøjagtige webadresse er angivet i ini-filen ovenfor). Afkastet side skal ringe til Django godkende og login-funktioner med en token modtaget fra Raven server via HTTP GET:
fra django.contrib.auth import autentificering, log ind
def raven_return (anmodning):
& Nbsp; # Sikre vi er konfigureret korrekt
& Nbsp; configure ()
& Nbsp; # Få token, som Raven serveren sendt os - det bør virkelig
& Nbsp; # få en prøve / undtagen omkring det at fange KeyError
& Nbsp; token = request.GET ['WLS-svar']
& Nbsp; # Se om dette er en gyldig token
& Nbsp; user = Authenticate (response_str = token)
& Nbsp; hvis brugeren er None:
& Nbsp; # Nogle slags err
& Nbsp; andet:
& Nbsp; login (anmodning, bruger)
& Nbsp; # Redirect sted fornuftig
& Nbsp; returnere HttpResponseRedirect ('/')
.ini Fil, som ravnen indstillingerne indlæses fra har følgende format:
[Ravn]
login_url = "http://raven.cam.ac.uk/auth/authenticate.html"
logout_url = "http://raven.cam.ac.uk/auth/logout.html"
return_url = "http://your.server.cam.ac.uk/ravenreturn/"
pubkeys = {'2': "/ sti / til / pubkey2.crt '}

Krav :

  • Python
  • Django

Kommentarer til django-pyroven

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!