mirror of
https://github.com/django/django.git
synced 2025-08-04 02:48:35 +00:00
Fixed #14881 -- Modified password reset to work with a non-integer UserModel.pk.
uid is now base64 encoded in password reset URLs/views. A backwards compatible password_reset_confirm view/URL will allow password reset links generated before this change to continue to work. This view will be removed in Django 1.7. Thanks jonash for the initial patch and claudep for the review.
This commit is contained in:
parent
b6a87f5c93
commit
1184d07789
13 changed files with 164 additions and 23 deletions
|
@ -2278,9 +2278,14 @@ your URLconf. Specifically, add these four patterns:
|
|||
|
||||
url(r'^admin/password_reset/$', 'django.contrib.auth.views.password_reset', name='admin_password_reset'),
|
||||
url(r'^admin/password_reset/done/$', 'django.contrib.auth.views.password_reset_done', name='password_reset_done'),
|
||||
url(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', name='password_reset_confirm'),
|
||||
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', name='password_reset_confirm'),
|
||||
url(r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete', name='password_reset_complete'),
|
||||
|
||||
.. versionchanged:: 1.6
|
||||
|
||||
The pattern for :func:`~django.contrib.auth.views.password_reset_confirm`
|
||||
changed as the ``uid`` is now base 64 encoded.
|
||||
|
||||
(This assumes you've added the admin at ``admin/`` and requires that you put
|
||||
the URLs starting with ``^admin/`` before the line that includes the admin app
|
||||
itself).
|
||||
|
|
|
@ -649,6 +649,20 @@ escaping HTML.
|
|||
Converts a positive integer to a base 36 string. On Python 2 ``i`` must be
|
||||
smaller than :data:`sys.maxint`.
|
||||
|
||||
.. function:: urlsafe_base64_encode(s)
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
Encodes a bytestring in base64 for use in URLs, stripping any trailing
|
||||
equal signs.
|
||||
|
||||
.. function:: urlsafe_base64_decode(s)
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
Decodes a base64 encoded string, adding back any trailing equal signs that
|
||||
might have been stripped.
|
||||
|
||||
``django.utils.module_loading``
|
||||
===============================
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue