api: render is_authorized in user-info api

This commit is contained in:
lilly 2026-05-14 14:17:46 +02:00
commit 9b97500516
Signed by: lilly
SSH key fingerprint: SHA256:y9T5GFw2A20WVklhetIxG1+kcg/Ce0shnQmbu1LQ37g
2 changed files with 5 additions and 9 deletions

View file

@ -52,14 +52,13 @@ app.add_exception_handler(exceptions.HttpProblemException, exceptions.problem_ex
@app.get("/api/user-info/", name="get-user-info", tags=["auth"], responses={status.HTTP_401_UNAUTHORIZED: {"model": models.HttpProblemDetail}})
async def get_user_info(req: Request, current_user: deps.CurrentUser) -> models.UserStatus:
if current_user is None:
return models.UserStatus(is_logged_in=False, user_info=None, guaranteed_session_until=None)
return models.UserStatus(is_logged_in=False, is_authorized=False, username=None, guaranteed_session_until=None)
else:
return models.UserStatus(
is_logged_in=True,
is_authorized=True,
guaranteed_session_until=datetime.fromtimestamp(current_user.id_token.exp, UTC),
user_info=models.UserInfo(
username=current_user.id_token.preferred_username,
)
username=current_user.id_token.preferred_username,
)

View file

@ -38,14 +38,11 @@ class CurrentUser(BaseModel):
id_token: IdToken
class UserInfo(BaseModel):
username: str
class UserStatus(BaseModel):
is_logged_in: bool
is_authorized: bool
guaranteed_session_until: Optional[datetime]
user_info: Optional[UserInfo]
username: Optional[str]
class LockStatus(BaseModel):