|
@@ -39,52 +39,31 @@ class TokenObject:
|
|
|
try:
|
|
|
res = jwt.decode(self.token, OAUTH_ACCESS_TOKEN_SECRET, algorithms='HS256')
|
|
|
reds = RedisObject()
|
|
|
- resetCode = reds.get_data(key=res['userID']+'_tokenValues')
|
|
|
+ resetCode = reds.get_data(key=res['userID']+'machine_code')
|
|
|
if resetCode is False :
|
|
|
- # 空
|
|
|
- print('token是已经过期了')
|
|
|
- user_qs = Device_User.objects.filter(userID=res['userID'], is_active=True, user_isValid=True).values(
|
|
|
- "machine_code", )
|
|
|
- order_list = list(user_qs)
|
|
|
- print ('继续是当前唯一编码')
|
|
|
- print (resetCode)
|
|
|
- print (self.token)
|
|
|
- for ev in order_list:
|
|
|
- if resetCode != self.token:
|
|
|
- print (res['machine_code'])
|
|
|
- print (ev['machine_code'])
|
|
|
+ # 过期不存在情况
|
|
|
+ if resetCode != res['machine_code']:
|
|
|
+ user_qs = Device_User.objects.filter(userID=res['userID'], is_active=True,user_isValid=True).values("machine_code", )
|
|
|
+ order_list = list(user_qs)
|
|
|
+ for ev in order_list:
|
|
|
if res['machine_code'] != ev['machine_code'] :
|
|
|
- print ('发现不同唯一码那么就309')
|
|
|
+ # 与数据库的唯一码不一致
|
|
|
self.code = 309
|
|
|
return
|
|
|
else:
|
|
|
- if not reds.set_data(key=res['userID'] + '_tokenValues', val=self.token,
|
|
|
- expire=300): # 1个小时
|
|
|
+ if not reds.set_data(key=res['userID'] + 'machine_code', val=res['machine_code'],
|
|
|
+ expire=5): # 1个小时
|
|
|
return response.json(10, '生成缓存错误')
|
|
|
- print ('相同的用户token值过期了,而且那个唯一码又没有过期的,然后续期')
|
|
|
- else:
|
|
|
- print ('相同的用户token值并续期了')
|
|
|
- if ev['machine_code'] =='':
|
|
|
- if not reds.set_data(key=res['userID'] + '_tokenValues', val=self.token,
|
|
|
- expire=300): # 1个小时
|
|
|
- return response.json(10, '生成缓存错误')
|
|
|
- print ('旧的方式访问,过期后,再续期')
|
|
|
- elif (resetCode!=self.token) :
|
|
|
- user_qs = Device_User.objects.filter(userID=res['userID'], is_active=True, user_isValid=True).values(
|
|
|
- "machine_code", )
|
|
|
- order_list = list(user_qs)
|
|
|
- for ev in order_list:
|
|
|
+ else:
|
|
|
if ev['machine_code'] == '':
|
|
|
- if not reds.set_data(key=res['userID'] + '_tokenValues', val=self.token,
|
|
|
- expire=300): # 1个小时
|
|
|
+ # 空的情况
|
|
|
+ if not reds.set_data(key=res['userID'] + 'machine_code', val=res['machine_code'],
|
|
|
+ expire=5): # 1个小时
|
|
|
return response.json(10, '生成缓存错误')
|
|
|
- print ('旧的方式登录访问还没有过期只是token值不同了,然后续期')
|
|
|
- else :
|
|
|
- print ('相同用户id不同token值')
|
|
|
- self.code = 309
|
|
|
- return
|
|
|
+
|
|
|
else :
|
|
|
- print ('相同的用户token值')
|
|
|
+ # 存在情况
|
|
|
+ print ('相同的machine_code值')
|
|
|
|
|
|
self.userID = res.get('userID', None)
|
|
|
self.lang = res.get('lang', None)
|