]> git.parisson.com Git - django-social-auth.git/commitdiff
Add option to avoid redirect_state parameter. Refs #386
authorMatías Aguirre <matiasaguirre@gmail.com>
Thu, 5 Jul 2012 04:10:43 +0000 (01:10 -0300)
committerMatías Aguirre <matiasaguirre@gmail.com>
Thu, 5 Jul 2012 04:10:43 +0000 (01:10 -0300)
social_auth/backends/__init__.py
social_auth/backends/google.py

index aa8e2159cae659e9db7c1befa81b944ffd5f79a1..01711188e82e0bb68acc844c786de5676c9f4b2d 100644 (file)
@@ -660,6 +660,7 @@ class BaseOAuth2(BaseOAuth):
     RESPONSE_TYPE = 'code'
     SCOPE_VAR_NAME = None
     DEFAULT_SCOPE = None
+    REDIRECT_STATE = True
 
     def state_token(self):
         """Generate csrf token to include as state parameter."""
@@ -667,7 +668,10 @@ class BaseOAuth2(BaseOAuth):
 
     def get_redirect_uri(self, state):
         """Build redirect_uri with redirect_state parameter."""
-        return url_add_parameters(self.redirect_uri, {'redirect_state': state})
+        uri = self.redirect_uri
+        if self.REDIRECT_STATE:
+            uri = url_add_parameters(uri, {'redirect_state': state})
+        return uri
 
     def auth_url(self):
         """Return redirect url"""
index 295a3db5e4247d7735ef8c7643d736c791aa126b..f3bd90b301b61e05408f2b9a8bf061d284d9147d 100644 (file)
@@ -195,6 +195,7 @@ class GoogleOAuth2(BaseOAuth2):
     SETTINGS_SECRET_NAME = 'GOOGLE_OAUTH2_CLIENT_SECRET'
     SCOPE_VAR_NAME = 'GOOGLE_OAUTH_EXTRA_SCOPE'
     DEFAULT_SCOPE = GOOGLE_OAUTH2_SCOPE
+    REDIRECT_STATE = False
 
     def user_data(self, access_token, *args, **kwargs):
         """Return user data from Google API"""