From c7ec5a14ee484b4e5cb103bf8da8f7d9aae48494 Mon Sep 17 00:00:00 2001 From: Umair Khan Date: Fri, 2 Dec 2016 14:20:43 +0500 Subject: [PATCH] Create redirect_to_main_site function. This function is used in OAuth logins so that we can redirect first to the root domain (e.g. zulipdev.com if subdomains are *.zulipdev.com). --- zerver/views/auth.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/zerver/views/auth.py b/zerver/views/auth.py index 0a1da0ee7f..13bd9177c9 100644 --- a/zerver/views/auth.py +++ b/zerver/views/auth.py @@ -14,7 +14,7 @@ from django.utils.translation import ugettext as _ from django.core import signing from six import text_type from six.moves import urllib -from typing import Any, Dict, Optional, Tuple +from typing import Any, Dict, Optional, Tuple, Text from confirmation.models import Confirmation from zerver.forms import OurAuthenticationForm, WRONG_SUBDOMAIN_ERROR @@ -160,10 +160,15 @@ def google_oauth2_csrf(request, value): def start_google_oauth2(request): # type: (HttpRequest) -> HttpResponse + url = reverse('zerver.views.auth.send_oauth_request_to_google') + return redirect_to_main_site(request, url) + +def redirect_to_main_site(request, url): + # type: (HttpRequest, Text) -> HttpResponse main_site_uri = ''.join(( settings.EXTERNAL_URI_SCHEME, settings.EXTERNAL_HOST, - reverse('zerver.views.auth.send_oauth_request_to_google'), + url, )) params = {'subdomain': get_subdomain(request)} return redirect(main_site_uri + '?' + urllib.parse.urlencode(params))