UrlTokenObject.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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.flag = self.valid()
  21. def valid(self):
  22. try:
  23. token = self.token
  24. if self.token is None:
  25. return False
  26. res = jwt.decode(token, '12345', algorithms='HS256')
  27. # print(res)
  28. Url = res.get('Url', None)
  29. if Url is None:
  30. return False
  31. self.Url = Url
  32. except jwt.ExpiredSignatureError as e:
  33. # print('过期')
  34. return False
  35. def generate(self, data={}):
  36. now_stamp = int(time.time())
  37. # print (now_stamp)
  38. # 过期时间为两天
  39. data['exp'] = 172800 + now_stamp
  40. token = jwt.encode(data, '12345', algorithm='HS256').decode('utf-8')
  41. self.token=token
  42. return token