mirror of
https://github.com/clearml/clearml-agent
synced 2025-03-03 18:52:22 +00:00
Add support for PyJWT v2
This commit is contained in:
parent
91eec99563
commit
cf6fdc0d81
@ -155,7 +155,7 @@ class Session(TokenManager):
|
|||||||
|
|
||||||
# update api version from server response
|
# update api version from server response
|
||||||
try:
|
try:
|
||||||
token_dict = jwt.decode(self.token, verify=False)
|
token_dict = TokenManager.get_decoded_token(self.token, verify=False)
|
||||||
api_version = token_dict.get('api_version')
|
api_version = token_dict.get('api_version')
|
||||||
if not api_version:
|
if not api_version:
|
||||||
api_version = '2.2' if token_dict.get('env', '') == 'prod' else Session.api_version
|
api_version = '2.2' if token_dict.get('env', '') == 'prod' else Session.api_version
|
||||||
|
@ -3,6 +3,7 @@ from abc import ABCMeta, abstractmethod
|
|||||||
from time import time
|
from time import time
|
||||||
|
|
||||||
import jwt
|
import jwt
|
||||||
|
from jwt.algorithms import get_default_algorithms
|
||||||
import six
|
import six
|
||||||
|
|
||||||
|
|
||||||
@ -66,10 +67,18 @@ class TokenManager(object):
|
|||||||
pass
|
pass
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def get_decoded_token(cls, token, verify=False):
|
||||||
|
""" Get token expiration time. If not present, assume forever """
|
||||||
|
return jwt.decode(
|
||||||
|
token, verify=verify,
|
||||||
|
options=dict(verify_signature=False),
|
||||||
|
algorithms=get_default_algorithms())
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_token_exp(cls, token):
|
def _get_token_exp(cls, token):
|
||||||
""" Get token expiration time. If not present, assume forever """
|
""" Get token expiration time. If not present, assume forever """
|
||||||
return jwt.decode(token, verify=False).get('exp', sys.maxsize)
|
return cls.get_decoded_token(token).get('exp', sys.maxsize)
|
||||||
|
|
||||||
def _set_token(self, token):
|
def _set_token(self, token):
|
||||||
if token:
|
if token:
|
||||||
|
@ -8,7 +8,7 @@ psutil>=3.4.2,<5.9.0
|
|||||||
pyhocon>=0.3.38,<0.4.0
|
pyhocon>=0.3.38,<0.4.0
|
||||||
pyparsing>=2.0.3,<2.5.0
|
pyparsing>=2.0.3,<2.5.0
|
||||||
python-dateutil>=2.4.2,<2.9.0
|
python-dateutil>=2.4.2,<2.9.0
|
||||||
pyjwt>=1.6.4,<1.8.0
|
pyjwt>=1.6.4,<2.1.0
|
||||||
PyYAML>=3.12,<5.4.0
|
PyYAML>=3.12,<5.4.0
|
||||||
requests>=2.20.0,<2.26.0
|
requests>=2.20.0,<2.26.0
|
||||||
six>=1.11.0,<1.16.0
|
six>=1.11.0,<1.16.0
|
||||||
|
Loading…
Reference in New Issue
Block a user