Skip to content

Commit

Permalink
Do get refreshed user info as well
Browse files Browse the repository at this point in the history
  • Loading branch information
enolfc committed Nov 22, 2024
1 parent 5efd26e commit 4438252
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions egi_notebooks_hub/egiauthenticator.py
Original file line number Diff line number Diff line change
Expand Up @@ -451,16 +451,18 @@ async def refresh_user(self, user, handler=None):
if not resp_body:
self.log.warning(f"Empty reply from refresh call for user {user}: {body}")
return False
refresh_info = json.loads(resp_body)
auth_state["access_token"] = refresh_info["access_token"]
if "refresh_token" in refresh_info:
auth_state["refresh_token"] = refresh_info["refresh_token"]
if "id_token" in refresh_info:
auth_state["id_token"] = refresh_info["id_token"]
self.log.debug("Refreshed token for user!")
token_info = json.loads(resp_body)

# Do get again the user_info, as this may have changed from last time
user_info = await self.token_to_user(token_info)
# extract the username out of the user_info dict and normalize it
username = self.user_info_to_username(user_info)
username = self.normalize_username(username)
auth_state = self.build_auth_state_dict(token_info, user_info)

if callable(getattr(user.spawner, "set_access_token", None)):
await user.spawner.set_access_token(
auth_state["access_token"], refresh_info.get("id_token", None)
token_info["access_token"], token_info.get("id_token", None)
)
auth_model = {
"name": user.name,
Expand Down

0 comments on commit 4438252

Please sign in to comment.