# interpreted as representing official policies, either expressed
# or implied, of GRNET S.A.
-from django.http import HttpResponse, HttpResponseRedirect
+from django.http import HttpResponseBadRequest
from pithos.im.target.util import prepare_response
def login(request):
next = request.GET.get('next')
if not next:
- return HttpResponse('')
+ return HttpResponseBadRequest('No next step provided')
if not request.user:
- return HttpResponseRedirect(next)
+ return HttpResponseBadRequest('User not found')
return prepare_response(request.user, next)
# or implied, of GRNET S.A.
from time import time, mktime
+from urllib import quote, unquote
from pithos.im.models import User
request.set_auth_cookie = True
user = get_user_from_token(token)
if not user:
- cookie_value = request.COOKIES.get('_pithos2_a')
+ cookie_value = unquote(request.COOKIES.get('_pithos2_a', ''))
if cookie_value and '|' in cookie_value:
token = cookie_value.split('|', 1)[1]
user = get_user_from_token(token)
def process_response(self, request, response):
if getattr(request, 'user', None) and getattr(request, 'set_auth_cookie', False):
expire_fmt = request.user.auth_token_expires.strftime('%a, %d-%b-%Y %H:%M:%S %Z')
- cookie_value = request.user.uniq + '|' + request.user.auth_token
+ cookie_value = quote(request.user.uniq + '|' + request.user.auth_token)
response.set_cookie('_pithos2_a', value=cookie_value, expires=expire_fmt, path='/')
return response