mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
Fixing issue around disappearing session_key on reader import. Using cookie first, then falling back to session_key.
This commit is contained in:
parent
72fe3633d6
commit
bb15e5f9ac
1 changed files with 22 additions and 12 deletions
|
@ -170,18 +170,28 @@ def import_signup(request):
|
||||||
signup_form = SignupForm(prefix='signup', data=request.POST)
|
signup_form = SignupForm(prefix='signup', data=request.POST)
|
||||||
if signup_form.is_valid():
|
if signup_form.is_valid():
|
||||||
new_user = signup_form.save()
|
new_user = signup_form.save()
|
||||||
try:
|
|
||||||
user_token = OAuthToken.objects.get(session_id=request.session.session_key)
|
user_token = None
|
||||||
except OAuthToken.DoesNotExist:
|
if not user_token:
|
||||||
user_tokens = OAuthToken.objects.filter(remote_ip=request.META['REMOTE_ADDR']).order_by('-created_date')
|
user_uuid = request.COOKIES.get('newsblur_reader_uuid')
|
||||||
if user_tokens:
|
if user_uuid:
|
||||||
user_token = user_tokens[0]
|
user_token = OAuthToken.objects.filter(uuid=user_uuid).order_by('-created_date')
|
||||||
user_token.session_id = request.session.session_key
|
if not user_token:
|
||||||
user_token.save()
|
if request.session.session_key:
|
||||||
user_token.user = new_user
|
user_token = OAuthToken.objects.filter(session_id=request.session.session_key).order_by('-created_date')
|
||||||
user_token.save()
|
if not user_token:
|
||||||
login_user(request, new_user)
|
user_token = OAuthToken.objects.filter(remote_ip=request.META['REMOTE_ADDR']).order_by('-created_date')
|
||||||
return HttpResponseRedirect(reverse('index'))
|
|
||||||
|
if user_token:
|
||||||
|
user_token = user_token[0]
|
||||||
|
user_token.session_id = request.session.session_key
|
||||||
|
user_token.user = new_user
|
||||||
|
user_token.save()
|
||||||
|
login_user(request, new_user)
|
||||||
|
return HttpResponseRedirect(reverse('index'))
|
||||||
|
else:
|
||||||
|
logging.info(request, "~BR~FW ***> Can't find user token during import/signup. Re-authenticating...")
|
||||||
|
return HttpResponseRedirect(reverse('google-reader-authorize'))
|
||||||
else:
|
else:
|
||||||
signup_form = SignupForm(prefix='signup')
|
signup_form = SignupForm(prefix='signup')
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue