@@ -35,11 +35,11 @@ def __init__(self, session, token):
35
35
self .access_token = token
36
36
self .bearer_token = None
37
37
self .csrf_token = None
38
- self .valid_until = datetime .utcnow ()
38
+ self .valid_until = datetime .now ()
39
39
40
40
def __call__ (self , request ):
41
- if not self .bearer_token or self .valid_until < datetime . utcnow ( ):
42
- # If bearer token not set or no longer valid
41
+ if not self .bearer_token or datetime . now () > self .valid_until - timedelta ( minutes = 5 ):
42
+ # If bearer token not set or nearing expiry
43
43
self .authenticate ()
44
44
45
45
request .headers .update ({
@@ -66,8 +66,8 @@ def authenticate(self):
66
66
content = response .json ()
67
67
self .bearer_token = content ['bearerToken' ]
68
68
self .csrf_token = response .headers ['X-CSRF-TOKEN' ]
69
- self .valid_until = datetime .utcnow () + timedelta (milliseconds = int (content ['expiresInMilliseconds' ]))
70
- logger .info (f"success: auth granted until { self .valid_until } UTC " )
69
+ self .valid_until = datetime .now () + timedelta (milliseconds = int (content ['expiresInMilliseconds' ]))
70
+ logger .info (f"success: auth granted until { self .valid_until . astimezone () } " )
71
71
return
72
72
except (json .JSONDecodeError , KeyError ):
73
73
logger .exception ("HTTP response status code 200 but unable to obtain bearer token" )
@@ -115,11 +115,11 @@ def __init__(self, session, username, password):
115
115
self .password = password
116
116
self .bearer_token = None
117
117
self .csrf_token = None
118
- self .valid_until = datetime .utcnow ()
118
+ self .valid_until = datetime .now ()
119
119
120
120
def __call__ (self , request ):
121
- if not self .bearer_token or self .valid_until < datetime . utcnow ( ):
122
- # If bearer token not set or no longer valid
121
+ if not self .bearer_token or datetime . now () > self .valid_until - timedelta ( minutes = 5 ):
122
+ # If bearer token not set or nearing expiry
123
123
self .authenticate ()
124
124
125
125
request .headers .update ({
@@ -158,8 +158,8 @@ def authenticate(self):
158
158
#
159
159
# HUB-25720: It is not possible to extend the validity time
160
160
# of the bearer token obtained via /j_spring_security_check.
161
- self .valid_until = datetime .utcnow () + timedelta (minutes = 120 ) # token is good for 2 hours
162
- logger .info (f"success: auth granted until { self .valid_until } UTC " )
161
+ self .valid_until = datetime .now () + timedelta (minutes = 120 ) # token is good for 2 hours
162
+ logger .info (f"success: auth granted until { self .valid_until . astimezone () } " )
163
163
return
164
164
except (KeyError , ValueError ):
165
165
logger .exception ("HTTP response status code 204 but unable to obtain bearer token" )
0 commit comments