示例#1
0
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
示例#2
0
 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
示例#3
0
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('为找到用户')