[pyar] Si actualizan a Django 1.7.3 y los usuarios no pueden iniciar sesión, lean esto

Claudio Freire klaussfreire en gmail.com
Mie Ene 14 22:11:54 ART 2015


2015-01-14 21:50 GMT-03:00 Horacio G. de Oro <info en data-tsunami.com>:
> Por ejemplo, en la tabla de usuarios yo tenía este hash:
> "pbkdf2_sha256$12000$xxxxxxxxxx". El '12000' es el parámetro del
> hasher con el que fue creado el password. En Django 1.7.3 fue cambiado
> a '15000', y por lo tanto, con mi mismo password, ahora el hash se
> diferente: "pbkdf2_sha256$15000$yyyyyyyyyyy"
>
> A esto le sumamos
> https://docs.djangoproject.com/en/1.7/topics/auth/default/#session-invalidation-on-password-change.
> Esta característica de Django fue hecha para que, si alguien cambia el
> password, las sesiones abiertas que existan iniciadas con el password
> viejo sean tomadas como inválidas, y forzamos que se re-ingrese el
> password. Está bueno: te olvidaste una sesión abierta en alguna PC, y
> ésta sesión se invalida al cambiar el password.
>
> El resultado de todo esto es que el middleware toma a la actualización
> del hash como si fuera un cambio de password, y el usuario que se
> estaba autenticando, es des-autenticado!


No soy djangero así que capaz que digo una barrabasada...

... pero eso suena a que sería un problema que sucedería una única vez.

Reintentar loguearse no debería resultar en un nuevo cambio de hash
(pues ya se hizo el upgrade), y todo debería andar.

A menos que no se haya comiteado el cambio de hash, y capaz que ahí
está el bug y la solución es sencilla (comitear).


More information about the pyar mailing list