首页 > 解决方案 > 为什么我的烧瓶 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

标签: authenticationflaskjwt

解决方案


推荐阅读