Прежде всего, в вашем маршруте входа
@app.route('/log_in')
def log_in():
user = User.query.first() // this is wrong .. you always login
//with the first user in your database table
login_user(user)
return 'OK'
..... поэтому сначала вам нужно указать метод публикации этого маршрута
@app.route('/log_in' , methods=['POST'])
, и вы получите учетные данные пользователя в теле запроса, например адрес электронной почты и пароль
user_data= request.get_json()
, затем запрос по электронной почте
user = User.query.filter_by(email=user_dat['email']).first()
, тогда вам нужно ввести sh пароль, входящий в запрос, и сравнить это к хешированному паролю пользователя, сохраненному в базе данных .. если они идентичны, то передайте его вашей функции login_user login_user (user)
/// java скрипт в запросе, вам нужно сделать это как это
function login() {
fetch('http://127.0.0.1:5000/log_in',{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({email:'email@email.com',password:'password'}),}).then((res) => {
return res.json();
}).catch((err) => {
return err;
});
}