|  | @@ -1,14 +1,15 @@
 | 
	
		
			
				|  |  |  import datetime
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +import logging
 | 
	
		
			
				|  |  |  import jwt
 | 
	
		
			
				|  |  |  import time
 | 
	
		
			
				|  |  |  import requests
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -from Model.models import TokenRecord
 | 
	
		
			
				|  |  |  from Object.RedisObject import RedisObject
 | 
	
		
			
				|  |  |  from Ansjer.config import OAUTH_ACCESS_TOKEN_SECRET, OAUTH_REFRESH_TOKEN_SECRET, OAUTH_ACCESS_TOKEN_TIME, \
 | 
	
		
			
				|  |  |      OAUTH_REFRESH_TOKEN_TIME, CONFIG_INFO, CONFIG_TEST, CONFIG_CN, DETECT_PUSH_DOMAINS, LOGGER
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +logger = logging.getLogger('token')
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class TokenObject:
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -46,16 +47,16 @@ class TokenObject:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          except jwt.ExpiredSignatureError as e:
 | 
	
		
			
				|  |  |              self.code = 309
 | 
	
		
			
				|  |  | -            # self.update_token(repr(e))
 | 
	
		
			
				|  |  | +            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
 | 
	
		
			
				|  |  |              return
 | 
	
		
			
				|  |  |          except Exception as e:
 | 
	
		
			
				|  |  |              self.code = 309
 | 
	
		
			
				|  |  | -            # self.update_token(repr(e))
 | 
	
		
			
				|  |  | +            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
 | 
	
		
			
				|  |  |              return
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  |              if not self.userID:
 | 
	
		
			
				|  |  |                  self.code = 309
 | 
	
		
			
				|  |  | -                # self.update_token('缺少用户ID')
 | 
	
		
			
				|  |  | +                logger.info('errMsg:{}, token:{}'.format('缺少用户ID', self.token))
 | 
	
		
			
				|  |  |                  return
 | 
	
		
			
				|  |  |              else:
 | 
	
		
			
				|  |  |                  if self.userID:
 | 
	
	
		
			
				|  | @@ -69,7 +70,8 @@ class TokenObject:
 | 
	
		
			
				|  |  |                              return res
 | 
	
		
			
				|  |  |                          if self.token != redis_token:
 | 
	
		
			
				|  |  |                              self.code = 310
 | 
	
		
			
				|  |  | -                            # self.update_token('重复登录')
 | 
	
		
			
				|  |  | +                            logger.info(
 | 
	
		
			
				|  |  | +                                'errMsg:{}, token:{}, redis_token:{}'.format('多点登录', self.token, redis_token))
 | 
	
		
			
				|  |  |                              return
 | 
	
		
			
				|  |  |                      self.code = 0
 | 
	
		
			
				|  |  |                      return res
 | 
	
	
		
			
				|  | @@ -77,10 +79,9 @@ class TokenObject:
 | 
	
		
			
				|  |  |                      self.code = 309
 | 
	
		
			
				|  |  |                      return
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    def generate(self, old_refresh_token=None, data=None):
 | 
	
		
			
				|  |  | +    def generate(self, data=None):
 | 
	
		
			
				|  |  |          if data is None:
 | 
	
		
			
				|  |  |              data = {}
 | 
	
		
			
				|  |  | -        now_time = int(time.time())
 | 
	
		
			
				|  |  |          try:
 | 
	
		
			
				|  |  |              if CONFIG_INFO == CONFIG_TEST or CONFIG_INFO == CONFIG_CN:
 | 
	
		
			
				|  |  |                  access_expire = int(datetime.timedelta(days=60).total_seconds())
 | 
	
	
		
			
				|  | @@ -129,21 +130,11 @@ class TokenObject:
 | 
	
		
			
				|  |  |                      result = requests.post(push_url, data={'push_token': data['tokenVal'], 'user_id': data['userID'],
 | 
	
		
			
				|  |  |                                                             'app_bundle_id': app_bundle_id})
 | 
	
		
			
				|  |  |                      LOGGER.info('{}登出推送结果:{}'.format(data['userID'], result.json()))
 | 
	
		
			
				|  |  | -            # if old_refresh_token:
 | 
	
		
			
				|  |  | -            #     token_qs = TokenRecord.objects.filter(refresh_token=old_refresh_token, user_id=data['userID'])
 | 
	
		
			
				|  |  | -            #     if token_qs.exists():
 | 
	
		
			
				|  |  | -            #         token_qs.update(refresh_token=refresh_token, access_token=access_token, updated_time=now_time)
 | 
	
		
			
				|  |  | -            #     else:
 | 
	
		
			
				|  |  | -            #         TokenRecord.objects.create(access_token=access_token, refresh_token=refresh_token, data=data,
 | 
	
		
			
				|  |  | -            #                                    created_time=now_time, updated_time=now_time, user_id=data['userID'])
 | 
	
		
			
				|  |  | -            # else:
 | 
	
		
			
				|  |  | -            #     TokenRecord.objects.create(access_token=access_token, refresh_token=refresh_token, data=data,
 | 
	
		
			
				|  |  | -            #                                created_time=now_time, updated_time=now_time, user_id=data['userID'])
 | 
	
		
			
				|  |  | +            logger.info(
 | 
	
		
			
				|  |  | +                '用户登录信息, data:{}, access_token:{}, refresh_token:{}'.format(data, access_token, refresh_token))
 | 
	
		
			
				|  |  |          except Exception as e:
 | 
	
		
			
				|  |  |              self.code = 309
 | 
	
		
			
				|  |  | -            # if old_refresh_token:
 | 
	
		
			
				|  |  | -            #     TokenRecord.objects.filter(refresh_token=old_refresh_token, user_id=data['userID']).update(
 | 
	
		
			
				|  |  | -            #         code=self.code, error_info=e, update_time=now_time)
 | 
	
		
			
				|  |  | +            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
 | 
	
		
			
				|  |  |              print(repr(e))
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  |              self.code = 0
 | 
	
	
		
			
				|  | @@ -182,18 +173,14 @@ class TokenObject:
 | 
	
		
			
				|  |  |              print('过期')
 | 
	
		
			
				|  |  |              print(repr(e))
 | 
	
		
			
				|  |  |              self.code = 309
 | 
	
		
			
				|  |  | -            # self.update_token(repr(e))
 | 
	
		
			
				|  |  | +            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
 | 
	
		
			
				|  |  |          except Exception as e:
 | 
	
		
			
				|  |  |              self.code = 309
 | 
	
		
			
				|  |  | -            # self.update_token(repr(e))
 | 
	
		
			
				|  |  | +            logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
 | 
	
		
			
				|  |  |              print(repr(e))
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  |              self.userID = res.get('userID', None)
 | 
	
		
			
				|  |  |              self.user = res.get('user', '')
 | 
	
		
			
				|  |  |              self.lang = res.get('lang', None)
 | 
	
		
			
				|  |  | -            refreshRes = self.generate(self.token, data=res)
 | 
	
		
			
				|  |  | +            refreshRes = self.generate(data=res)
 | 
	
		
			
				|  |  |              return refreshRes
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def update_token(self, e):
 | 
	
		
			
				|  |  | -        TokenRecord.objects.filter(access_token=self.token).update(code=self.code, error_info=e,
 | 
	
		
			
				|  |  | -                                                                   updated_time=int(time.time()))
 |