DIRACGrid / diracx

The neXt DIRAC generation
GNU General Public License v3.0
8 stars 19 forks source link

fix(client): better error when refresh token is expired #241

Closed aldbr closed 2 months ago

aldbr commented 3 months ago

Aims at fixing the following error:

$ dirac login diracAdmin
# do some stuff, then stop using it for a few days, the refresh token expired
$ dirac jobs submit job.jdl
RuntimeError: An issue occured while refreshing your access token: Invalid JWT: bad_signature:
$ dirac login diracAdmin
RuntimeError: An issue occured while refreshing your access token: Invalid JWT: bad_signature:
$ dirac logout
$ dirac login diracAdmin
# Login successful!

In this PR, we check the validity of the refresh token before refreshing the access token. We should have:

$ dirac login diracAdmin
# do some stuff, then stop using it for a few days, the refresh token expired
$ dirac jobs submit job.jdl
HttpResponseError: Operation returned an invalid status 'Forbidden'
Content: {"detail":"Not authenticated"}
$ dirac login diracAdmin
# Login successful!