diff options
author | Frederick Muriuki Muriithi | 2024-05-14 09:30:15 +0300 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2024-05-14 09:31:30 +0300 |
commit | 8a4ab36a4691db03f731f918b7c4e6ff859157ee (patch) | |
tree | 83ce679a2834fedc70e152df331aa5e32aced77a | |
parent | d80bf00d16048c0f1dbc5635ce6bf52411d44346 (diff) | |
download | genenetwork2-8a4ab36a4691db03f731f918b7c4e6ff859157ee.tar.gz |
Consistently use the same OAuthSession client
-rw-r--r-- | gn2/wqflask/__init__.py | 7 | ||||
-rw-r--r-- | gn2/wqflask/oauth2/checks.py | 12 | ||||
-rw-r--r-- | gn2/wqflask/oauth2/client.py | 10 |
3 files changed, 11 insertions, 18 deletions
diff --git a/gn2/wqflask/__init__.py b/gn2/wqflask/__init__.py index 4dee4fea..e3708b0b 100644 --- a/gn2/wqflask/__init__.py +++ b/gn2/wqflask/__init__.py @@ -13,7 +13,6 @@ import redis import jinja2 from flask_session import Session from authlib.jose import JsonWebKey -from authlib.integrations.requests_client import OAuth2Session from flask import g, Flask, flash, session, url_for, redirect, current_app @@ -159,11 +158,9 @@ def before_request(): token = session.get("oauth2_token", False) if token and not bool(session.get("user_details", False)): + from gn2.wqflask.oauth2.client import oauth2_client config = current_app.config - client = OAuth2Session( - config["OAUTH2_CLIENT_ID"], config["OAUTH2_CLIENT_SECRET"], - token=token) - resp = client.get( + resp = oauth2_client().client.get( urljoin(config["GN_SERVER_URL"], "oauth2/user")) user_details = resp.json() session["user_details"] = user_details diff --git a/gn2/wqflask/oauth2/checks.py b/gn2/wqflask/oauth2/checks.py index d4025ffd..7f33348e 100644 --- a/gn2/wqflask/oauth2/checks.py +++ b/gn2/wqflask/oauth2/checks.py @@ -7,9 +7,13 @@ from flask import ( flash, request, redirect, session as flask_session) from . import session -from .client import ( - authserver_uri, oauth2_clientid, oauth2_clientsecret, oauth2_get) from .session import clear_session_info +from .client import ( + oauth2_get, + oauth2_client, + authserver_uri, + oauth2_clientid, + oauth2_clientsecret) def require_oauth2(func): @@ -26,9 +30,7 @@ def require_oauth2(func): return redirect("/") def __with_token__(token): - client = OAuth2Session( - oauth2_clientid(), oauth2_clientsecret(), token=token) - resp = client.get( + resp = oauth2_client().get( urljoin(authserver_uri(), "auth/user/")) user_details = resp.json() if not user_details.get("error", False): diff --git a/gn2/wqflask/oauth2/client.py b/gn2/wqflask/oauth2/client.py index f4ad4f00..75e438cc 100644 --- a/gn2/wqflask/oauth2/client.py +++ b/gn2/wqflask/oauth2/client.py @@ -73,10 +73,7 @@ def __no_token__(_err) -> Left: def oauth2_get(uri_path: str, data: dict = {}, jsonify_p: bool = False, **kwargs) -> Either: def __get__(token) -> Either: - client = OAuth2Session( - oauth2_clientid(), oauth2_clientsecret(), - token=token, scope=SCOPE) - resp = client.get( + resp = oauth2_client().get( urljoin(authserver_uri(), uri_path), data=data, **kwargs) @@ -93,10 +90,7 @@ def oauth2_post( uri_path: str, data: Optional[dict] = None, json: Optional[dict] = None, **kwargs) -> Either: def __post__(token) -> Either: - client = OAuth2Session( - oauth2_clientid(), oauth2_clientsecret(), - token=token, scope=SCOPE) - resp = client.post( + resp = oauth2_client().post( urljoin(authserver_uri(), uri_path), data=data, json=json, **kwargs) if resp.status_code == 200: |