Skip to content

Commit 7a5abce

Browse files
authored
Merge pull request #20954 from jdavcs/25.0_refresh_token_fix
[25.0] Check for expiration in refresh token dictionary
2 parents c1f7e22 + 9c79d36 commit 7a5abce

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

lib/galaxy/authnz/psa_authnz.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -191,11 +191,8 @@ def refresh(self, trans, user_authnz_token):
191191
):
192192
return False
193193
# refresh tokens if they reached their half lifetime
194-
if "expires" in user_authnz_token.extra_data:
195-
expires = user_authnz_token.extra_data["expires"]
196-
elif "expires_in" in user_authnz_token.extra_data:
197-
expires = user_authnz_token.extra_data["expires_in"]
198-
else:
194+
expires = self._try_to_locate_refresh_token_expiration(user_authnz_token.extra_data)
195+
if not expires:
199196
log.debug("No `expires` or `expires_in` key found in token extra data, cannot refresh")
200197
return False
201198
if (
@@ -212,6 +209,14 @@ def refresh(self, trans, user_authnz_token):
212209
return True
213210
return False
214211

212+
def _try_to_locate_refresh_token_expiration(self, extra_data):
213+
return (
214+
extra_data.get("expires", None)
215+
or extra_data.get("expires_in", None)
216+
or extra_data["refresh_token"].get("expires", None)
217+
or extra_data["refresh_token"].get("expires_in", None)
218+
)
219+
215220
def authenticate(self, trans, idphint=None):
216221
on_the_fly_config(trans.sa_session)
217222
strategy = Strategy(trans.request, trans.session, Storage, self.config)

0 commit comments

Comments
 (0)