From 7436f19f8de889060c3e73e7eebc4cf7cbcd0973 Mon Sep 17 00:00:00 2001 From: Mart van Santen <mart@greenhost.nl> Date: Wed, 22 Feb 2023 14:44:41 +0800 Subject: [PATCH] Try to fix consent --- backend/web/login/login.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/backend/web/login/login.py b/backend/web/login/login.py index ffe67701..3fa87921 100644 --- a/backend/web/login/login.py +++ b/backend/web/login/login.py @@ -375,14 +375,24 @@ def consent(): current_app.logger.info(f"{kratos_id} was granted access to {client_id}") # False positive: pylint: disable=no-member - return redirect( - consent_request.accept( - grant_scope=consent_request.requested_scope, - grant_access_token_audience=consent_request.requested_access_token_audience, - session=claims, - ) + try: + redirectUrl = hydra_admin_api.accept_consent_request( + challenge, + accept_consent_request=AcceptConsentRequest( + grant_scope=consent_request.requested_scope, + grant_access_token_audience=consent_request.requested_access_token_audience, + session=ConsentRequestSession(**claims), + ) + ).redirect_to ) - + except: + # If an unexpected error occurs, logout, hopefully that wipes the + # relevant cookies + current_app.logger.error('Fatal processing consent, redirect to logout:' + str(e)) + return redirect("logout") + current_app.logger.info(f"Redirect to: {redirectUrl}") + + return redirect(redirectUrl) @web.route("/status", methods=["GET", "POST"]) def status(): -- GitLab