#34379: Invalid regex pattern for password reset token in 4.2b1
-------------------------------------+-------------------------------------
Reporter: Dmitriy Sintsov | Owner: nobody
Type: Bug | Status: new
Component: contrib.auth | Version: 4.2
Severity: Normal | Resolution:
Keywords: password reset | Triage Stage:
token auth admin | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Description changed by Dmitriy Sintsov:
Old description:
> Probably the second part of token (32 chars) is too long for {1,20}
> regex:
>
> NoReverseMatch at /password-reset/
> Reverse for 'password_reset_confirm' with keyword arguments '{'uidb64':
> 'MQ', 'token': 'bkfl1u-973ffa0db26e9754b6591f45ce331fd6'}' not found. 1
> pattern(s) tried: ['reset/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>[0-9A-
> Za-z]{1,13}-[0-9A-Za-z]{1,20})/$']
> Request Method: POST
> Request URL: http://127.0.0.1:8000/password-reset/
> Django Version: 4.2b1
> Exception Type: NoReverseMatch
> Exception Value:
> Reverse for 'password_reset_confirm' with keyword arguments '{'uidb64':
> 'MQ', 'token': 'bkfl1u-973ffa0db26e9754b6591f45ce331fd6'}' not found. 1
> pattern(s) tried: ['reset/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>[0-9A-
> Za-z]{1,13}-[0-9A-Za-z]{1,20})/$']
> Exception Location: /home/user/work/ispdevenv/lib/python3.10/site-
> packages/django/urls/resolvers.py, line 828, in _reverse_with_prefix
>
> Error during template rendering
> In template /home/user/work/ispdevenv/lib/python3.10/site-
> packages/django/contrib/admin/templates/registration/password_reset_email.html,
> error at line 6
>
> Reverse for 'password_reset_confirm' with keyword arguments '{'uidb64':
> 'MQ', 'token': 'bkfl1u-973ffa0db26e9754b6591f45ce331fd6'}' not found. 1
> pattern(s) tried: ['reset/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>[0-9A-
> Za-z]{1,13}-[0-9A-Za-z]{1,20})/$']
> 1 {% load i18n %}{% autoescape off %}
> 2 {% blocktranslate %}You're receiving this email because you
> requested a password reset for your user account at {{ site_name }}.{%
> endblocktranslate %}
> 3
> 4 {% translate "Please go to the following page and choose a new
> password:" %}
> 5 {% block reset_link %}
> 6 {{ protocol }}://{{ domain }}{% url 'password_reset_confirm'
> uidb64=uid token=token %}
> 7 {% endblock %}
> 8 {% translate 'Your username, in case you’ve forgotten:' %} {{
> user.get_username }}
> 9
> 10 {% translate "Thanks for using our site!" %}
> 11
> 12 {% blocktranslate %}The {{ site_name }} team{% endblocktranslate
> %}
> 13
> 14 {% endautoescape %}
> 15
New description:
Probably the second part of token (32 chars) is too long for {1,20} regex:
{{{
NoReverseMatch at /password-reset/
Reverse for 'password_reset_confirm' with keyword arguments '{'uidb64':
'MQ', 'token': 'bkfl1u-973ffa0db26e9754b6591f45ce331fd6'}' not found. 1
pattern(s) tried: ['reset/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>[0-9A-
Za-z]{1,13}-[0-9A-Za-z]{1,20})/$']
Request Method: POST
Request URL: http://127.0.0.1:8000/password-reset/
Django Version: 4.2b1
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'password_reset_confirm' with keyword arguments '{'uidb64':
'MQ', 'token': 'bkfl1u-973ffa0db26e9754b6591f45ce331fd6'}' not found. 1
pattern(s) tried: ['reset/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>[0-9A-
Za-z]{1,13}-[0-9A-Za-z]{1,20})/$']
Exception Location: /home/user/work/ispdevenv/lib/python3.10/site-
packages/django/urls/resolvers.py, line 828, in _reverse_with_prefix
Error during template rendering
In template /home/user/work/ispdevenv/lib/python3.10/site-
packages/django/contrib/admin/templates/registration/password_reset_email.html,
error at line 6
Reverse for 'password_reset_confirm' with keyword arguments '{'uidb64':
'MQ', 'token': 'bkfl1u-973ffa0db26e9754b6591f45ce331fd6'}' not found. 1
pattern(s) tried: ['reset/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>[0-9A-
Za-z]{1,13}-[0-9A-Za-z]{1,20})/$']
1 {% load i18n %}{% autoescape off %}
2 {% blocktranslate %}You're receiving this email because you
requested a password reset for your user account at {{ site_name }}.{%
endblocktranslate %}
3
4 {% translate "Please go to the following page and choose a new
password:" %}
5 {% block reset_link %}
6 {{ protocol }}://{{ domain }}{% url 'password_reset_confirm'
uidb64=uid token=token %}
7 {% endblock %}
8 {% translate 'Your username, in case you’ve forgotten:' %} {{
user.get_username }}
9
10 {% translate "Thanks for using our site!" %}
11
12 {% blocktranslate %}The {{ site_name }} team{% endblocktranslate
%}
13
14 {% endautoescape %}
15
}}}
--
--
Ticket URL: <https://code.djangoproject.com/ticket/34379#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/01070186a1ff3299-aecac3e0-27fd-48f0-94aa-06736046004c-000000%40eu-central-1.amazonses.com.