|
1 | 1 | import time |
2 | | -from flask import Blueprint, request, session |
| 2 | +from flask import Blueprint, request, session, url_for |
3 | 3 | from flask import render_template, redirect, jsonify |
4 | 4 | from werkzeug.security import gen_salt |
5 | 5 | from authlib.integrations.flask_oauth2 import current_token |
@@ -32,12 +32,17 @@ def home(): |
32 | 32 | db.session.add(user) |
33 | 33 | db.session.commit() |
34 | 34 | session['id'] = user.id |
| 35 | + # if user is not just to log in, but need to head back to the auth page, then go for it |
| 36 | + next_page = request.args.get('next') |
| 37 | + if next_page: |
| 38 | + return redirect(next_page) |
35 | 39 | return redirect('/') |
36 | 40 | user = current_user() |
37 | 41 | if user: |
38 | 42 | clients = OAuth2Client.query.filter_by(user_id=user.id).all() |
39 | 43 | else: |
40 | 44 | clients = [] |
| 45 | + |
41 | 46 | return render_template('home.html', user=user, clients=clients) |
42 | 47 |
|
43 | 48 |
|
@@ -87,6 +92,9 @@ def create_client(): |
87 | 92 | @bp.route('/oauth/authorize', methods=['GET', 'POST']) |
88 | 93 | def authorize(): |
89 | 94 | user = current_user() |
| 95 | + # if user log status is not true (Auth server), then to log it in |
| 96 | + if not user: |
| 97 | + return redirect(url_for('website.routes.home', next=request.url)) |
90 | 98 | if request.method == 'GET': |
91 | 99 | try: |
92 | 100 | grant = authorization.validate_consent_request(end_user=user) |
|
0 commit comments