Fix token error handling
All checks were successful
/ build (push) Successful in 5s
/ test (push) Successful in 5s

This commit is contained in:
phil 2025-02-04 18:03:17 +01:00
parent aa86f81358
commit 31a783cbf1
3 changed files with 11 additions and 8 deletions

View file

@ -41,7 +41,7 @@ from .auth_utils import (
get_providers_info,
)
from .auth_misc import pretty_details
from .database import db
from .database import TokenNotInDb, db
from .resource_server import get_resource
logger = logging.getLogger("uvicorn.error")
@ -268,8 +268,10 @@ async def logout(
)
return RedirectResponse(request.url_for("non_compliant_logout"))
post_logout_uri = request.url_for("home")
if (token := await db.get_token(request.session.pop("token", None))) is None:
logger.warn("No session in db for the token")
try:
token = await db.get_token(request.session.pop("token", None))
except TokenNotInDb:
logger.warn("No session in db for the token or no token")
return RedirectResponse(request.url_for("home"))
logout_url = (
provider_logout_uri