UidTokenObject.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD018
  6. @NAME: AnsjerFormal
  7. @software: PyCharm
  8. @DATE: 2018/12/5 11:52
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: UidTokenObject.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. from Ansjer.config import UID_TOKEN_KEY
  15. import jwt
  16. # UID_TOKEN_KEY = 'c+565*j@%^'
  17. class UidTokenObject:
  18. def __init__(self, token=None):
  19. self.token = token
  20. self.UID = ''
  21. self.channel = ''
  22. self.flag = self.valid()
  23. def valid(self):
  24. token = self.token
  25. if self.token is None:
  26. return False
  27. try:
  28. res = jwt.decode(token, UID_TOKEN_KEY, algorithms='HS256')
  29. print(res)
  30. UID = res.get('uid', None)
  31. channel = res.get('channel', None)
  32. if UID is None:
  33. return False
  34. self.UID = UID
  35. self.channel = channel
  36. except jwt.ExpiredSignatureError as e:
  37. print('过期')
  38. print(repr(e))
  39. except Exception as e:
  40. print(repr(e))
  41. def generate(self, data={}):
  42. token = jwt.encode(data, UID_TOKEN_KEY, algorithm='HS256').decode('utf-8')
  43. self.token=token
  44. return token
  45. # uidToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJNVUo4ODdOTFI4SzhHQk05MTExQSJ9.NHYNwmcRLCRBv2FUMA-FlM1Gtx4ir8rrwfoz7QQ67bM'
  46. # utko = UidTokenObject(uidToken)
  47. #
  48. # utko = UidTokenObject()
  49. # rr = utko.generate(data={'uid':'JW3684H8BSHG9TTM111A','channel':1})
  50. # print(rr)
  51. # print(utko)
  52. '''
  53. '''