fix: update token refresh to use object attributes instead of dict access

This commit is contained in:
cătălin 2025-02-24 14:31:46 +01:00
commit 48a3235323
No known key found for this signature in database
5 changed files with 547 additions and 465 deletions

View file

@ -24,15 +24,16 @@ class GetUserByJWTAction(BaseModel):
is_valid = await self.authenticator.token_is_valid(
user.external_auth["twitch"]["access_token"]
)
logger.info(f"Token {user} is valid: {is_valid}")
if not is_valid:
logger.info(f"Refreshing token for user {user}")
new_tokens = await self.authenticator.refresh_token(
user.external_auth["twitch"]["refresh_token"]
)
user.external_auth["twitch"]["access_token"] = new_tokens["access_token"] # type: ignore[index]
user.external_auth["twitch"]["refresh_token"] = new_tokens["refresh_token"] # type: ignore[index]
await self.user_repo.update(user)
if is_valid:
return user
logger.info(f"Refreshing token for user {user}")
twitch_auth = await self.authenticator.refresh_token(
user.external_auth["twitch"]["refresh_token"]
)
user.external_auth["twitch"]["access_token"] = twitch_auth.access_token
user.external_auth["twitch"]["refresh_token"] = twitch_auth.refresh_token
await self.user_repo.update(user)
return user