插入新用户python flask restapi后刷新用户身份验证表

好的,我的问题出在:

我有一个使用flask,Python,flask-mysql和flask-jwt制作的简单的api。

i具有在人员表中添加,修改,选择和删除寄存器的功能。

我还创建了一个包含ID,邮件和密码(由jwt散列)的用户表。

所有工作原理,我都有一个功能,可以将用户添加到用户表中,还有一个功能,可以读取这些用户并存储在列表中,以便在身份验证方法中使用它们。

当我添加一个具有“ / register”功能的新用户时,问题仍然存在,如果我想对该新用户进行身份验证,则必须重新启动/刷新python。

对不起我的英语,我会说西班牙语。

我共享两种方法的代码。

谢谢。

class User(object):
def __init__(self,id,username,password):
    self.id = id
    self.username = username
    self.password = password

def __str__(self):
    return "User(id='%s')" % self.id

users = []

def seleccionar_usuarios():
try:
    conn = mysql.connect()
    cursor = conn.cursor(pymysql.cursors.DictCursor)
    cursor.execute(
        "SELECT id_usr,mail_usr,pass_usr FROM tbl_users")
    itr = list(cursor.fetchall())
    for i in itr:
        id_func = (i['id_usr'])
        username_func = (i['mail_usr'])
        password_func = (i['pass_usr'])
        users.append(User(id_func,username_func,password_func))
    return None
except Exception as e:
    print(e)
finally:
    cursor.close()
    conn.close()

seleccionar_usuarios()
username_table = {u.username: u for u in users}
userid_table = {u.id: u for u in users}

def authenticate(username,password):
user = username_table.get(username,None)
if user and check_password_hash(user.password,password):
    return user

def identity(payload):
user_id = payload['identity']
return userid_table.get(user_id,None)

jwt = JWT(app,authenticate,identity)

@app.route('/register',methods=['POST'])
def new_user():
    try:
        _json = request.json
        _nomb = _json['mail']
        _pass = _json['password']
        _hashedpass = generate_password_hash(_pass,method='sha256')
        if _nomb and _pass and request.method == 'POST':
            sqlQuery = "INSERT INTO tbl_users(mail_usr,pass_usr) VALUES(%s,%s)"
            bindData = (_nomb,_hashedpass)
            conn = mysql.connect()
            cursor = conn.cursor()
            cursor.execute(sqlQuery,bindData)
            conn.commit()
            respone = jsonify('Se agregó un registro con Exito!')
            respone.status_code = 200
            return respone
        else:
            return registro_no_encontrado()
    except Exception as e:
        print(e)
    finally:
        cursor.close()
        conn.close()
dongmiao008s 回答:插入新用户python flask restapi后刷新用户身份验证表

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2505596.html

大家都在问