Projet

Général

Profil

0001-auth_frontends-build-next-URL-passed-to-registration.patch

Benjamin Dauvergne, 30 mai 2015 01:40

Télécharger (2,8 ko)

Voir les différences:

Subject: [PATCH] auth_frontends: build next URL passed to registration by
 adding the nonce

fixes #7388
 src/authentic2/auth_frontends.py                             | 3 +++
 src/authentic2/templates/authentic2/login_password_form.html | 2 +-
 src/authentic2/utils.py                                      | 6 ++++++
 3 files changed, 10 insertions(+), 1 deletion(-)
src/authentic2/auth_frontends.py
2 2
from django.utils.translation import gettext_noop
3 3
from django.shortcuts import render
4 4
from django.utils.translation import ugettext as _
5
from django.core.urlresolvers import reverse
5 6

  
6 7
from . import views, app_settings, utils
7 8
from .exponential_retry_timeout import ExponentialRetryTimeout
8 9

  
10

  
9 11
class LoginPasswordBackend(object):
10 12
    submit_name = 'login-password-submit'
11 13

  
......
32 34
        is_secure = request.is_secure
33 35
        context = {
34 36
            'submit_name': self.submit_name,
37
            'registration_url': utils.get_registration_url(request),
35 38
        }
36 39
        seconds_to_wait = exponential_backoff.seconds_to_wait(request)
37 40
        reset = True
src/authentic2/templates/authentic2/login_password_form.html
15 15
  <p>→ {% trans "Forgot password?" %} <a href="{% url 'password_reset' %}">{% trans "Reset it!" %}</a></p>
16 16
{% endif %}
17 17
{% if registration_authorized %}
18
  <p>→ {% trans "Not a member?" %} <a href="{% url 'registration_register' %}?{{ request.GET.urlencode }}">{% trans "Register!" %}</a></p>
18
  <p>→ {% trans "Not a member?" %} <a href="{{ registration_url }}">{% trans "Register!" %}</a></p>
19 19
{% endif %}
20 20
</div>
21 21

  
src/authentic2/utils.py
485 485
            if not field.is_relation or not field.many_to_one:
486 486
                return None
487 487
            return field.related_model
488

  
489

  
490
def get_registration_url(request):
491
    next_url = request.GET.get(REDIRECT_FIELD_NAME) or reverse('homepage')
492
    next_url = make_url(next_url, request=request, keep_params=True, include=(constants.NONCE_FIELD_NAME,))
493
    return make_url('registration_register', params={REDIRECT_FIELD_NAME: next_url})
488
-