Pregunta

Estoy intentando probar una aplicación de acceso federado en mi máquina local. Estoy usando Django junto con el href="https://github.com/uswaretech/Django-Socialauth" rel="nofollow"> Socialauth aplicación . Cuando el registro en el host local, sin embargo, aparece un 403 Forbidden Django página de error, que me informa de que el "CSRF token de [está] falta o es incorrecto." Asumo que eso significa que el sitio que estoy accediendo desde no está autorizado.

En la página de Google puede agregar localhost, pero no pasa nada cuando se vuelva a intentar para gestionar esa página.

Entonces, ¿hay una manera de probar el acceso federado en su máquina local?

¿Fue útil?

Solución 2

Mi error parece simplemente haber sido no haber añadido el CsrfResponseMiddleware.

Así que mis clases de middleware en settings.py ahora queda como:

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

Esto elimina el error, y todo funciona bien.

Otros consejos

El error

"CSRF token de [es] falta o incorrecta. "

medios sólo eso, el CSRF token que Django está esperando o es incorrecto. Que yo sepa la funcionalidad token CSRF se añadió no hace mucho tiempo, tal vez usted necesita para actualizar su instalación de Django.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top