|
@@ -1,20 +1,7 @@
|
|
|
-#!/usr/bin/env python3
|
|
|
-# -*- coding: utf-8 -*-
|
|
|
-"""
|
|
|
-@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
|
|
|
-@AUTHOR: ASJRD018
|
|
|
-@NAME: AnsjerOA
|
|
|
-@software: PyCharm
|
|
|
-@DATE: 2018/8/13 15:36
|
|
|
-@Version: python3.6
|
|
|
-@MODIFY DECORD:ansjer dev
|
|
|
-@file: TokenObject.py
|
|
|
-@Contact: chanjunkai@163.com
|
|
|
-"""
|
|
|
+import jwt
|
|
|
+import time
|
|
|
from Ansjer.config import OAUTH_ACCESS_TOKEN_SECRET, OAUTH_REFRESH_TOKEN_SECRET, OAUTH_ACCESS_TOKEN_TIME, \
|
|
|
OAUTH_REFRESH_TOKEN_TIME
|
|
|
-import jwt, time
|
|
|
-from Object.RedisObject import RedisObject
|
|
|
|
|
|
|
|
|
class TokenObject:
|
|
@@ -29,7 +16,6 @@ class TokenObject:
|
|
|
self.userID = None
|
|
|
self.user = ''
|
|
|
self.code = 0
|
|
|
- # 令牌校验
|
|
|
self.valid()
|
|
|
self.returntpye = returntpye
|
|
|
|
|
@@ -38,10 +24,9 @@ class TokenObject:
|
|
|
self.code = 309
|
|
|
return
|
|
|
try:
|
|
|
- self.token= self.token.replace("Bearer ", "")
|
|
|
+ self.token = self.token.replace("Bearer ", "")
|
|
|
|
|
|
res = jwt.decode(self.token, OAUTH_ACCESS_TOKEN_SECRET, algorithms='HS256')
|
|
|
- # print(res)
|
|
|
self.userID = res.get('userID', None)
|
|
|
self.lang = res.get('lang', None)
|
|
|
self.user = res.get('user', '')
|
|
@@ -52,8 +37,6 @@ class TokenObject:
|
|
|
# redisObj.set_data(key=self.userID, val=self.user, expire=300)
|
|
|
|
|
|
except jwt.ExpiredSignatureError as e:
|
|
|
- print('过期')
|
|
|
- print(repr(e))
|
|
|
self.code = 309
|
|
|
return
|
|
|
except Exception as e:
|
|
@@ -70,8 +53,10 @@ class TokenObject:
|
|
|
else:
|
|
|
self.code = 309
|
|
|
return
|
|
|
- # token加密
|
|
|
- def generate(self, data={}):
|
|
|
+
|
|
|
+ def generate(self, data=None):
|
|
|
+ if data is None:
|
|
|
+ data = {}
|
|
|
try:
|
|
|
access_expire = int(OAUTH_ACCESS_TOKEN_TIME.total_seconds())
|
|
|
refresh_expire = int(OAUTH_REFRESH_TOKEN_TIME.total_seconds())
|
|
@@ -89,18 +74,18 @@ class TokenObject:
|
|
|
algorithm='HS256')
|
|
|
|
|
|
res = {
|
|
|
- 'access_token': access_token.decode('utf-8'),
|
|
|
+ 'access_token': access_token,
|
|
|
'access_expire': access_expire,
|
|
|
'refresh_expire': refresh_expire,
|
|
|
- 'refresh_token': refresh_token.decode('utf-8'),
|
|
|
+ 'refresh_token': refresh_token,
|
|
|
}
|
|
|
|
|
|
if self.returntpye=='pc':
|
|
|
res = {
|
|
|
- 'token': access_token.decode('utf-8'),
|
|
|
+ 'token': access_token,
|
|
|
'access_expire': access_expire,
|
|
|
'refresh_expire': refresh_expire,
|
|
|
- 'refresh_token': refresh_token.decode('utf-8'),
|
|
|
+ 'refresh_token': refresh_token,
|
|
|
}
|
|
|
|
|
|
except Exception as e:
|
|
@@ -110,7 +95,9 @@ class TokenObject:
|
|
|
self.code = 0
|
|
|
return res
|
|
|
|
|
|
- def encryption(self, data={}):
|
|
|
+ def encryption(self, data=None):
|
|
|
+ if data is None:
|
|
|
+ data = {}
|
|
|
try:
|
|
|
access_expire = int(OAUTH_ACCESS_TOKEN_TIME.total_seconds())
|
|
|
refresh_expire = int(OAUTH_REFRESH_TOKEN_TIME.total_seconds())
|
|
@@ -126,9 +113,6 @@ class TokenObject:
|
|
|
except Exception as e:
|
|
|
self.code = 309
|
|
|
print(repr(e))
|
|
|
- else:
|
|
|
- self.code = 0
|
|
|
- return res
|
|
|
|
|
|
def refresh(self):
|
|
|
if not self.token:
|
|
@@ -152,10 +136,3 @@ class TokenObject:
|
|
|
self.user = user
|
|
|
refreshRes = self.generate(data={'userID': userID, 'lang': lang, 'user': user})
|
|
|
return refreshRes
|
|
|
-
|
|
|
-# import jwt
|
|
|
-#
|
|
|
-#
|
|
|
-# token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySUQiOiIxNTMzODg0NDE4NTE5MTM4MDAxMzgwMDAiLCJleHAiOjE1NTU1NTEwNjUsInVzZXIiOiIxMTFAcXEuY29tIiwibGFuZyI6ImVuIn0.waPlfIBucSA7rFfnsxOKIVJ_cL6xiP33cAiz1IDoteY'
|
|
|
-# res = jwt.decode(token, 'a+jbgnw%@1%zy^=@dn62%', algorithms='HS256')
|
|
|
-# print(res)
|