コード例 #1
0
def user_login():
    """
    登陆成功获取到数据获取token和刷新token
    :return:
    """
    res = ResMsg()
    obj = request.get_json(force=True)
    user_name = obj.get("username")
    user_password = obj.get("password")
    db_user = db.session.query(User).filter(User.name == user_name).first()
    # 未获取到参数或参数不存在
    if not obj or not user_name or not user_password or not db_user:
        res.update(code=ResponseCode.InvalidParameter)
        return res.data

    if user_name == db_user.name and user_password == db_user.password:
        # 生成数据获取token和刷新token
        access_token, refresh_token = Auth.encode_auth_token(user_id=user_name)

        data = {
            "access_token": access_token.decode("utf-8"),
            # "refresh_token": refresh_token.decode("utf-8")
        }
        res.update(data=data)
        return res.data
    else:
        res.update(code=ResponseCode.AccountOrPassWordErr)
        return res.data
コード例 #2
0
def test_login():
    """
    登陆成功获取到数据获取token和刷新token
    :return:
    """
    res = ResMsg()
    obj = request.get_json(force=True)
    user_name = obj.get("name")
    # 未获取到参数或参数不存在
    if not obj or not user_name:
        res.update(code=ResponseCode.InvalidParameter)
        return res.data

    if user_name == "qin":
        # 生成数据获取token和刷新token
        access_token, refresh_token = Auth.encode_auth_token(user_id=user_name)

        data = {
            "access_token": access_token.decode("utf-8"),
            "refresh_token": refresh_token.decode("utf-8")
        }
        res.update(data=data)
        return res.data
    else:
        res.update(code=ResponseCode.AccountOrPassWordErr)
        return res.data
コード例 #3
0
def handle_login():
    """
    登录接口
    :return: json
    """
    res = ResMsg()
    req = request.get_json(force=True)
    
    username = req.get("username")
    password = req.get("password")
    password_hash = hash_password(password)
    now_timestr = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

    user = db.session.query(EtAccount).filter(EtAccount.name == username, 
            EtAccount.password==password_hash).first() 

    res_data= dict()
    if user:
        user = db.session.query(EtAccount.name).first()
        res_data.update(dict(zip(user.keys(), user)))
        
        db.session.query(EtAccount).filter(EtAccount.name == username).update({"last_login": now_timestr})

        access_token, refresh_token = Auth.encode_auth_token(user_id=username)

        res_data.update({"access_token": access_token.decode("utf-8"),
                            "refresh_token": refresh_token.decode("utf-8")})
        
        res.update(code=ResponseCode.LoginSuccess, data=res_data, msg=ResponseMessage.LoginSuccess)
        
        return res.data
    else:
        res.update(code=ResponseCode.LoginFail, data={}, msg=ResponseMessage.LoginFail)

        return res.data
コード例 #4
0
def login():
    """登陆成功获取到数据获取token和刷新token"""
    res = ResMsg()

    obj = request.get_json(force=True)
    name = obj.get("name")
    if not all([obj, name, obj.get("password")]):
        res.update(code=ResponseCode.InvalidParameter)
        return res.data

    user_obj = User.query.filter(User.name == name).first()
    if user_obj and user_obj.password == obj.get("password"):
        access_token, refresh_token = Auth.encode_auth_token(user_id=name)
        data = {
            "access_token": access_token.decode("utf-8"),
            "refresh_token": refresh_token.decode("utf-8"),
            "user": model_to_dict(user_obj)
        }
        res.update(data=data)

    else:
        res.update(code=ResponseCode.AccountOrPassWordErr)
    return res.data