как я могу ограничить количество запросов на вход для каждого пользователя в моем flask REST API? - PullRequest
0 голосов
/ 06 января 2020

Я создал REST API с flask, и теперь я хочу ограничить количество запросов на вход в систему для пользователя в час. Я использую basi c auth, чтобы получить данные пользователя, такие как имя пользователя и пароль, из HTTP-запроса. flask_limiter требует Flask -OAuthlib для ограничения количества запросов на пользователя, но я не хочу его использовать

@app.route('/login/test')
def login():
    auth = request.authorization
    if auth.username=='' or auth.password=='':
        return make_response({'msg': 'Login req'}, 401, {'msg': 'Login req'})
    query1  = "SOMETHING"
    query2 = "SOMETHING"
    result=(db.query(query1, 0))
    result1=(db.query(query2, 0))
    if auth and auth.password ==result[0]:
        token = jwt.encode({'user': auth.username,'HOD': result1[0],
                            'hod_department': result1[1],'exp':datetime.datetime.utcnow()+datetime.timedelta(minutes=60)},app.config['SECRET_KEY'])
        return jsonify({'token': token.decode('UTF-8')})
    return jsonify({'msg': 'Error'})
...