mirror of
https://github.com/zoffline/zwift-offline.git
synced 2026-08-02 00:47:50 -07:00
+17
-3
@@ -161,7 +161,7 @@ class User(UserMixin, db.Model):
|
||||
|
||||
def get_token(self):
|
||||
dt = datetime.datetime.utcnow() + datetime.timedelta(minutes=30)
|
||||
return jwt.encode({'user': self.player_id, 'exp': dt}, app.config['SECRET_KEY'], algorithm='HS256').decode('utf-8')
|
||||
return jwt_encode({'user': self.player_id, 'exp': dt}, app.config['SECRET_KEY'], algorithm='HS256')
|
||||
|
||||
@staticmethod
|
||||
def verify_token(token):
|
||||
@@ -213,16 +213,28 @@ courses_lookup = {
|
||||
15: 'Paris'
|
||||
}
|
||||
|
||||
|
||||
def jwt_encode(payload, key, **kwargs):
|
||||
# For pyjwt >= 2.0.0 compatibility (Issue #108)
|
||||
if jwt.__version__[0] == '1':
|
||||
return jwt.encode(payload, key, **kwargs).decode('utf-8')
|
||||
else:
|
||||
return jwt.encode(payload, key, **kwargs)
|
||||
|
||||
|
||||
def get_utc_date_time():
|
||||
return datetime.datetime.utcnow()
|
||||
|
||||
|
||||
def get_utc_seconds_from_date_time(dt):
|
||||
return (time.mktime(dt.timetuple()) * 1000.0 + dt.microsecond / 1000.0) / 1000
|
||||
|
||||
|
||||
def get_utc_time():
|
||||
dt = get_utc_date_time()
|
||||
return get_utc_seconds_from_date_time(dt)
|
||||
|
||||
|
||||
def get_online():
|
||||
online_in_region = Online()
|
||||
for p_id in online:
|
||||
@@ -273,9 +285,11 @@ def get_partial_profile(player_id):
|
||||
else: return None
|
||||
return player_partial_profiles[player_id]
|
||||
|
||||
|
||||
def get_course(state):
|
||||
return (state.f19 & 0xff0000) >> 16
|
||||
|
||||
|
||||
def is_nearby(player_state1, player_state2, range = 100000):
|
||||
try:
|
||||
if player_state1.watchingRiderId == player_state2.id or player_state2.watchingRiderId == player_state1.id:
|
||||
@@ -1593,14 +1607,14 @@ def launch_zwift():
|
||||
def fake_refresh_token_with_session_cookie(session_cookie):
|
||||
refresh_token = jwt.decode(REFRESH_TOKEN, options=({'verify_signature': False, 'verify_aud': False}))
|
||||
refresh_token['session_cookie'] = session_cookie
|
||||
refresh_token = jwt.encode(refresh_token, 'nosecret').decode('utf-8')
|
||||
refresh_token = jwt_encode(refresh_token, 'nosecret')
|
||||
return refresh_token
|
||||
|
||||
|
||||
def fake_jwt_with_session_cookie(session_cookie):
|
||||
access_token = jwt.decode(ACCESS_TOKEN, options=({'verify_signature': False, 'verify_aud': False}))
|
||||
access_token['session_cookie'] = session_cookie
|
||||
access_token = jwt.encode(access_token, 'nosecret').decode('utf-8')
|
||||
access_token = jwt_encode(access_token, 'nosecret')
|
||||
|
||||
refresh_token = fake_refresh_token_with_session_cookie(session_cookie)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user