From 850db9f59035645cb8530625388ae42ec69103c9 Mon Sep 17 00:00:00 2001 From: phil Date: Sun, 23 Feb 2025 16:37:47 +0100 Subject: [PATCH] Fix scope cannot be determined when the access token cannot be decoded --- src/oidc_test/main.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/oidc_test/main.py b/src/oidc_test/main.py index 54d69c5..e5238c8 100644 --- a/src/oidc_test/main.py +++ b/src/oidc_test/main.py @@ -123,19 +123,20 @@ async def home( try: access_token_parsed = provider.decode(token["access_token"], verify_signature=False) context["access_token_parsed"] = access_token_parsed + context["access_token_scope"] = access_token_parsed.get("scope") except PyJWTError as err: - access_token_parsed = {"Cannot parse": err.__class__.__name__} + context["access_token_parsed"] = {"Cannot parse": err.__class__.__name__} + context["access_token_scope"] = None try: id_token_parsed = provider.decode(token["id_token"], verify_signature=False) context["id_token_parsed"] = id_token_parsed except PyJWTError as err: - id_token_parsed = {"Cannot parse": err.__class__.__name__} + context["id_token_parsed"] = {"Cannot parse": err.__class__.__name__} try: refresh_token_parsed = provider.decode(token["refresh_token"], verify_signature=False) context["refresh_token_parsed"] = refresh_token_parsed except PyJWTError as err: - refresh_token_parsed = {"Cannot parse": err.__class__.__name__} - context["access_token_scope"] = access_token_parsed.get("scope") + context["refresh_token_parsed"] = {"Cannot parse": err.__class__.__name__} context["resources"] = registry.resources context["resource_providers"] = provider.resource_providers return templates.TemplateResponse(name="home.html", request=request, context=context)