2010-12-12 6 views
1

Ich versuche, eine föderierte Anmeldeanwendung auf meinem lokalen Computer zu testen. Ich benutze Django zusammen mit der Socialauth Anwendung. Wenn ich mich jedoch auf localhost anmelde, bekomme ich eine 403 Verbotene Django-Fehlerseite, die mich darüber informiert, dass das "CSRF-Token [fehlt] oder falsch ist". Ich gehe davon aus, dass die Site, auf die ich zugreife, nicht autorisiert ist.So testen Sie google föderierte Anmeldung auf localhost

Auf der Google domain management page können Sie localhost hinzufügen, aber nichts passiert, wenn Sie dann versuchen, diese Seite zu verwalten.

Gibt es eine Möglichkeit, die föderierte Anmeldung auf Ihrem lokalen Computer zu testen?

Antwort

0

Mein Fehler scheint einfach zu sein, die CsrfResponseMiddleware nicht hinzugefügt zu haben.

meine Middleware-Klassen in settings.py So sieht nun wie:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'openid_consumer.middleware.OpenIDMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.middleware.csrf.CsrfResponseMiddleware', 
    #'socialauth.middleware.FacebookConnectMiddleware', 
) 

Das den Fehler wegnimmt, und alles funktioniert.

0

Der Fehler

"Token CSRF [ist] fehlt oder falsch."

bedeutet nur, dass das CSRF-Token, das Django erwartet, fehlt oder falsch ist. AFAIK die CSRF-Token-Funktionalität wurde vor nicht allzu langer Zeit hinzugefügt, vielleicht müssen Sie Ihre Django-Installation aktualisieren.