Changes between Initial Version and Version 1 of Ticket #28285
- Timestamp:
- Jun 8, 2017, 12:46:41 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #28285 – Description
initial v1 1 The code below, from contrib.auth.base_user.py, says "hash upgrade is not a password change"1 The code below, from `contrib.auth.base_user.py`, says "hash upgrade is not a password change" 2 2 3 3 {{{ … … 16 16 17 17 18 but the code in contrib.auth.__init__.py/get_user()18 but the code in `contrib.auth.get_user()` verifies the session by comparing a salted hmac of the password hash to the same thing stored in the session. 19 19 20 verifies the session by comparing a salted hmac of the password hash to the same thing stored in the session. 21 22 If we update the password hash the salted hmac will change. Therefore, the session will no longer be considered valid and will be flushed. We can keep the session alive by updating the HASH_SESSION_KEY in request.session e.g. via the update_session_auth_hash() function. But this is not called by the setter function when the hasher is updated. 20 If we update the password hash the salted hmac will change. Therefore, the session will no longer be considered valid and will be flushed. We can keep the session alive by updating the `HASH_SESSION_KEY` in `request.session` e.g. via the `update_session_auth_hash()` function. But this is not called by the setter function when the hasher is updated. 23 21 24 22 So the first time the user logs (with the correct password) following an upgrade, their (valid) session will be flushed and they will be logged out again. 25 26 27