From 96ecb6603a10bdcf30bb238d3462ec9da0560c89 Mon Sep 17 00:00:00 2001 From: Ben Darnell Date: Mon, 29 Nov 2010 15:01:16 -0800 Subject: [PATCH] Use request.uri instead of request.path as default redirect for auth.py. This allows the next parameter (added by @authenticated) to be preserved. Closes #161. --- tornado/auth.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tornado/auth.py b/tornado/auth.py index dd9b6202..a5bc0cd1 100644 --- a/tornado/auth.py +++ b/tornado/auth.py @@ -77,7 +77,7 @@ class OpenIdMixin(object): all those attributes for your app, you can request fewer with the ax_attrs keyword argument. """ - callback_uri = callback_uri or self.request.path + callback_uri = callback_uri or self.request.uri args = self._openid_args(callback_uri, ax_attrs=ax_attrs) self.redirect(self._OPENID_ENDPOINT + "?" + urllib.urlencode(args)) @@ -280,7 +280,7 @@ class OAuthMixin(object): signature = _oauth10a_signature(consumer_token, "GET", url, args) else: signature = _oauth_signature(consumer_token, "GET", url, args) - + args["oauth_signature"] = signature return url + "?" + urllib.urlencode(args) @@ -326,7 +326,7 @@ class OAuthMixin(object): logging.warning("Could not fetch access token") callback(None) return - + access_token = _oauth_parse_response(response.body) user = self._oauth_get_user(access_token, self.async_callback( self._on_oauth_get_user, access_token, callback)) @@ -703,7 +703,7 @@ class GoogleMixin(OpenIdMixin, OAuthMixin): You can authorize multiple resources by separating the resource URLs with a space. """ - callback_uri = callback_uri or self.request.path + callback_uri = callback_uri or self.request.uri args = self._openid_args(callback_uri, ax_attrs=ax_attrs, oauth_scope=oauth_scope) self.redirect(self._OPENID_ENDPOINT + "?" + urllib.urlencode(args)) @@ -771,7 +771,7 @@ class FacebookMixin(object): extended_permissions=None): """Authenticates/installs this app for the current user.""" self.require_setting("facebook_api_key", "Facebook Connect") - callback_uri = callback_uri or self.request.path + callback_uri = callback_uri or self.request.uri args = { "api_key": self.settings["facebook_api_key"], "v": "1.0",