Redirect properly after login

- Use next=xxx URL parameter
- Redirect to / when no next=xxx was given and the referrer is /welcome
This commit is contained in:
2017-09-01 17:04:41 +02:00
parent 9a49cb536b
commit d80fc48635

View File

@@ -93,7 +93,19 @@ def homepage():
@blueprint.route('/login')
def login():
session['next_after_login'] = '/'
from flask import request
next_after_login = request.args.get('next')
# Redirect to /welcome if explicitly given, but not when falling back to the referrer.
if not next_after_login:
url_for_welcome = url_for('cloud.welcome', _external=True)
if request.referrer == url_for_welcome:
next_after_login = '/'
else:
next_after_login = request.referrer
session['next_after_login'] = next_after_login
return redirect(url_for('users.oauth_authorize', provider='blender-id'))