diff options
| author | Frederick Muriuki Muriithi | 2026-02-10 15:02:35 -0600 |
|---|---|---|
| committer | Frederick Muriuki Muriithi | 2026-02-10 15:02:35 -0600 |
| commit | 106a9345b142450bec2f333d9e8f51af878ccd57 (patch) | |
| tree | 971e437379e80e1aed52119005cf54c5ec69e8ca | |
| parent | af4053c55d2df0d9265dffd3e2d5df541704552b (diff) | |
| download | gn-uploader-106a9345b142450bec2f333d9e8f51af878ccd57.tar.gz | |
Pass any set feature flags back to ourselves after authentication.
| -rw-r--r-- | uploader/oauth2/client.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/uploader/oauth2/client.py b/uploader/oauth2/client.py index 4e81afd..e37816d 100644 --- a/uploader/oauth2/client.py +++ b/uploader/oauth2/client.py @@ -4,7 +4,7 @@ import time import uuid import random from datetime import datetime, timedelta -from urllib.parse import urljoin, urlparse +from urllib.parse import urljoin, urlparse, urlencode import requests from flask import request, current_app as app @@ -18,6 +18,7 @@ from authlib.integrations.requests_client import OAuth2Session from uploader import session import uploader.monadic_requests as mrequests +from uploader.flask_extensions import fetch_flags SCOPE = ("profile group role resource register-client user masquerade " "introspect migrate-data") @@ -176,11 +177,13 @@ def authserver_authorise_uri(): """Build up the authorisation URI.""" req_baseurl = urlparse(request.base_url, scheme=request.scheme) host_uri = f"{req_baseurl.scheme}://{req_baseurl.netloc}/" - return urljoin( - authserver_uri(), - "auth/authorise?response_type=code" - f"&client_id={oauth2_clientid()}" - f"&redirect_uri={urljoin(host_uri, 'oauth2/code')}") + args = { + "response_type": "code", + "client_id": oauth2_clientid(), + "redirect_uri": ( + f"{urljoin(host_uri, 'oauth2/code')}?{urlencode(fetch_flags())}") + } + return f"{urljoin(authserver_uri(), 'auth/authorise')}?{urlencode(args)}" def __no_token__(_err) -> Left: |
