def identify(self, request): """ 用户鉴权 :param request: :return: """ auth_header = request.headers.get('Authorization') if auth_header: auth_token_list = auth_header.split(' ') if not auth_token_list or auth_token_list[0] != 'JWT' or len( auth_token_list) != 2: return '请传递正确的验证头信息' else: auth_token = auth_token_list[1] payload = self.docode_auth_token(auth_token) if not isinstance(payload, str): user = User.get(payload['data']['id']) if user is None: return '找不到用户信息' else: if user.updated_time == payload['data']['update_time']: result = payload else: return 'Token已更改,请重新登录获取Token' else: result = payload else: return '没有提供认证token' return result
def identify(self, request): """ 用户鉴权 :return: list """ auth_header = request.headers.get('Authorization') if auth_header: auth_tokenArr = auth_header.split(" ") if (not auth_tokenArr or auth_tokenArr[0] != 'JWT' or len(auth_tokenArr) != 2): return '请传递正确的验证头信息' else: auth_token = auth_tokenArr[1] payload = self.decode_auth_token(auth_token) if not isinstance(payload, str): user = User.get(payload['data']['id']) if user is None: return '找不到该用户信息' else: if user.updated_at == payload['data']['updated_at']: result = payload else: return 'Token已更改,请重新登录获取' else: result = payload else: return '没有提供认证token' return result
def get_user(): """ 获取用户信息 :return: """ result = UserAuthJWT().identify(request) if isinstance(result, str): return BaseView().error(result) if result['data']: user = User.get(result['data']['id']) user_dict = { 'id': user.id, 'name': user.name, 'email': user.email, 'login_time': user.updated_time, } return BaseView().success_data(user_dict) return BaseView().error('为找到用户')