aboutsummaryrefslogtreecommitdiff
path: root/gn2/wqflask/oauth2/users.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn2/wqflask/oauth2/users.py')
-rw-r--r--gn2/wqflask/oauth2/users.py28
1 files changed, 19 insertions, 9 deletions
diff --git a/gn2/wqflask/oauth2/users.py b/gn2/wqflask/oauth2/users.py
index 8a935170..7d9186ab 100644
--- a/gn2/wqflask/oauth2/users.py
+++ b/gn2/wqflask/oauth2/users.py
@@ -1,6 +1,6 @@
import requests
from uuid import UUID
-from urllib.parse import urljoin
+from urllib.parse import urljoin, urlparse
from authlib.integrations.base_client.errors import OAuthError
from flask import (
@@ -11,10 +11,16 @@ from . import client
from . import session
from .ui import render_ui
from .checks import require_oauth2
-from .client import (oauth2_get, oauth2_post, oauth2_client,
- authserver_uri, user_logged_in)
-from .request_utils import (
- user_details, request_error, process_error, with_flash_error)
+from .client import (oauth2_get,
+ oauth2_post,
+ oauth2_client,
+ authserver_uri,
+ user_logged_in)
+from .request_utils import (user_details,
+ request_error,
+ process_error,
+ with_flash_error,
+ authserver_authorise_uri)
users = Blueprint("user", __name__)
@@ -61,7 +67,7 @@ def request_add_to_group() -> Response:
return redirect(url_for("oauth2.user.user_profile"))
return oauth2_post(f"auth/group/requests/join/{group_id}",
- data=form).either(__error__, __success__)
+ json=form).either(__error__, __success__)
@users.route("/logout", methods=["GET", "POST"])
@@ -84,7 +90,8 @@ def logout():
f"{the_session['masquerading']['name']} "
f"({the_session['masquerading']['email']})",
"alert-success")
- return redirect("/")
+
+ return redirect("/")
@users.route("/register", methods=["GET", "POST"])
def register_user():
@@ -101,11 +108,14 @@ def register_user():
form = request.form
response = requests.post(
urljoin(authserver_uri(), "auth/user/register"),
- data = {
+ json = {
"user_name": form.get("user_name"),
"email": form.get("email_address"),
"password": form.get("password"),
- "confirm_password": form.get("confirm_password")})
+ "confirm_password": form.get("confirm_password"),
+ **dict(
+ item.split("=") for item in
+ urlparse(authserver_authorise_uri()).query.split("&"))})
results = response.json()
if "error" in results:
error_messages = tuple(