Skip to content

Commit

Permalink
Merge branch 'master' into feat/dbenvvar
Browse files Browse the repository at this point in the history
  • Loading branch information
jawadqur committed Nov 29, 2022
2 parents a73273c + 38e6e21 commit fa7fe78
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions fence/resources/openid/idp_oauth2.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,14 +187,21 @@ def get_access_token(self, user, token_endpoint, db_session=None):
expires = None

# get refresh_token and expiration from db
for row in user.upstream_refresh_tokens:
for row in sorted(user.upstream_refresh_tokens, key=lambda row:row.expires):
refresh_token = row.refresh_token
expires = row.expires

if time.time() > expires:
# reset to check for next token
refresh_token = None
expires = None

# delete expired refresh token
db_session.delete(row)
db_session.commit()

if not refresh_token:
raise AuthError("User doesn't have a refresh token")
if time.time() > expires:
raise AuthError("Refresh token expired. Please login again.")
raise AuthError("User doesn't have a valid, non-expired refresh token")

token_response = self.session.refresh_token(
url=token_endpoint,
Expand Down

0 comments on commit fa7fe78

Please sign in to comment.