From: Matías Aguirre Date: Wed, 27 Apr 2011 17:20:55 +0000 (-0300) Subject: Use request.REQUEST because some providers use form URLs with GET parameters X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=fd1d841703d095a769f4a0acd4a2580f6e1a5778;p=django-social-auth.git Use request.REQUEST because some providers use form URLs with GET parameters --- diff --git a/social_auth/backends/__init__.py b/social_auth/backends/__init__.py index a415887..a9fe2fd 100644 --- a/social_auth/backends/__init__.py +++ b/social_auth/backends/__init__.py @@ -387,7 +387,9 @@ class BaseAuth(object): def __init__(self, request, redirect): self.request = request - self.data = request.POST if request.method == 'POST' else request.GET + # Use request because some auth providers use POST urls with needed + # GET parameters on it + self.data = request.REQUEST self.redirect = redirect def auth_url(self): diff --git a/social_auth/views.py b/social_auth/views.py index 521b085..6c446ff 100644 --- a/social_auth/views.py +++ b/social_auth/views.py @@ -94,9 +94,9 @@ def auth_process(request, backend, complete_url_name): backend = get_backend(backend, request, redirect) if not backend: return HttpResponseServerError('Incorrect authentication service') - data = request.REQUEST # Check and sanitize a user-defined GET/POST redirect_to field value. - redirect = sanitize_redirect(request.get_host(), data.get(REDIRECT_FIELD_NAME)) + redirect = sanitize_redirect(request.get_host(), + request.REQUEST.get(REDIRECT_FIELD_NAME)) request.session[REDIRECT_FIELD_NAME] = redirect or DEFAULT_REDIRECT if backend.uses_redirect: return HttpResponseRedirect(backend.auth_url())