]> git.parisson.com Git - django-social-auth.git/commitdiff
Use request.REQUEST because some providers use form URLs with GET parameters
authorMatías Aguirre <matiasaguirre@gmail.com>
Wed, 27 Apr 2011 17:20:55 +0000 (14:20 -0300)
committerMatías Aguirre <matiasaguirre@gmail.com>
Wed, 27 Apr 2011 17:21:38 +0000 (14:21 -0300)
social_auth/backends/__init__.py
social_auth/views.py

index a41588741405ccf63d785890d8690f7b7f1530be..a9fe2fd4060053b8ea10d62ef2cdf8bc1eda247f 100644 (file)
@@ -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):
index 521b085d1a926c5d124530457a4c415892784df4..6c446ff30c044d8aa6a22b564ff74bf917dc9c85 100644 (file)
@@ -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())