authentication - 为什么我的烧瓶 jwt auth 不接受我从数据库中提取的数据?
问题描述
我想从 login_required 创建一个不同的身份验证过程,所以我可以专门为管理员创建一个仪表板,这个烧瓶 jwt auth 允许我这样做。这是我目前拥有的 jwt 身份验证的代码脚本。我将访问SQL数据库中的数据并仔细检查输入密码是否与管理员密码匹配,但是每次提交时页面都会出现刷新,我认为这种方式是因为我输入的数据在我提交后没有了,而且我没有看到任何信息或重定向。(用户和密码的输入是一个小弹出窗口
@app.route("/login-admin")
def login_admin():
auth = request.authorization
admin1 = db.session.query(Admin.password)
if auth and auth.password == admin1:
token = jwt.encode({'user' : 'admin'}, app.config['SECRET_KEY'])
toknen = jsonify({'token' : token.decode('UTF-8')})
return redirect(url_for('add_doctor', token=token))
return make_response('Invalid!', 401, {'WWW-Authenticate' : 'Basic realm="Login Required"'})
def token_required(f):
@wraps(f)
def decorated(*args, **kwargs):
token = request.args.get('token')
if not token:
return jsonify({'message' : 'Token is missing!'}), 403
try:
data = jwt.decode(token, app.config['SECRET_KEY'])
except:
return jsonify({'message' : 'Token is invalid!'}), 403
return f(*args, **kwargs)
return decorated
解决方案
推荐阅读
- flutter - 如何修复“已关闭的 Dismissible 小部件仍然是树的一部分。” 飘飘然
- neo4j - 如何授予选择(只读)权限以查看 Neo4j 中的所有用户和角色
- c# - 使用 Microsoft.SqlServer.Types 避免程序集文件锁定
- apache-spark - 虽然我将 setMaster 设置为本地,但我的 spark 应用程序给出了错误
- operating-system - 程序的调用堆栈是否因操作系统和/或编程语言而异?
- angular - 添加时
到我的页面,所有按钮都停止工作 - java - 使用 android studio 将数据导出到谷歌表:“不幸的是,我的应用程序已停止”
- python - 有没有办法从另一个 python 包中导入一个 python 包,就好像它是同一代码的一部分一样?
- python-3.x - Tkinter:pack()ing 使用 grid() 的帧
- android - 无法实例化应用程序 androidx.multidex.MultiDexApplication:java.lang.ClassNotFoundException