UrlTokenObject.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD019
  6. @NAME: AnsjerFormal
  7. @software: PyCharm
  8. @DATE: 2019/4/17 11:46
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: UidTokenObject.py
  12. @Contact:
  13. """
  14. from Ansjer.config import UID_TOKEN_KEY
  15. import jwt, time
  16. class UrlTokenObject:
  17. def __init__(self, token=None):
  18. self.token = token
  19. self.Url = ''
  20. self.mci = ''
  21. self.user_id = ''
  22. self.uid = ''
  23. self.serial_number = ''
  24. self.old_version = ''
  25. self.new_version = ''
  26. self.flag = self.valid()
  27. def valid(self):
  28. try:
  29. token = self.token
  30. if self.token is None:
  31. return False
  32. res = jwt.decode(token, '12345', algorithms='HS256')
  33. self.Url = res.get('Url', 'null')
  34. self.mci = res.get('mci', 'null')
  35. self.user_id = res.get('user_id', 'null')
  36. self.uid = res.get('uid', 'null')
  37. self.serial_number = res.get('serial_number', 'null')
  38. self.old_version = res.get('old_version', 'null')
  39. self.new_version = res.get('new_version', 'null')
  40. except jwt.ExpiredSignatureError as e:
  41. print('UrlTokenObject_except_过期')
  42. return False
  43. def generate(self, data={}):
  44. now_stamp = int(time.time())
  45. # print (now_stamp)
  46. # 过期时间为两天
  47. data['exp'] = 172800 + now_stamp
  48. token = jwt.encode(data, '12345', algorithm='HS256').decode('utf-8')
  49. self.token = token
  50. return token