UidTokenObject.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. class UidTokenObject:
  17. def __init__(self, token=None):
  18. if token == 'local':
  19. token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJGVFNMTDhITTQzN1ozOFdVMTExQSIsImNoYW5uZWwiOiIyIn0.uyRvPUB7Bp9X0dAOAsGWOpYuQTKFGbOBOMPz_pIzPMw'
  20. self.token = token
  21. self.UID = ''
  22. self.channel = ''
  23. self.flag = self.valid()
  24. def valid(self):
  25. token = self.token
  26. if self.token is None:
  27. return False
  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. def generate(self, data={}):
  37. token = jwt.encode(data, UID_TOKEN_KEY, algorithm='HS256').decode('utf-8')
  38. self.token=token
  39. return token