【问题标题】:Flask-JWT responce error 500 on server turnoff服务器关闭上的 Flask-JWT 响应错误 500
【发布时间】:2017-06-28 12:32:12
【问题描述】:

每当我关闭服务器,然后再次打开并尝试访问路由时 以前的令牌没有登录到应用程序,它给了我 500 个内部服务器 错误而不是“身份验证失败”。有什么解决办法 这个。

@app.route('/secret_page', methods=['GET'])
@jwt_required
def secret_page():
    print "secret page"
    return jsonify({'Success': True})

错误是

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application.</p>

【问题讨论】:

    标签: python flask flask-jwt


    【解决方案1】:

    只是猜测,但请尝试在您的烧瓶应用配置中设置 PROPAGATE_EXCEPTIONS = True。或者看看使用flask_jwt_extended,它会为你处理这个问题,并且仍然在积极维护。 Flask_jwt 已经被废弃了一段时间(完全公开,我是作者或flask_jet_extended)。

    【讨论】:

    • 我已将使用过的令牌列入黑名单,未经授权但关闭服务器后给出 500 错误消息
    • 您确定服务器确实在运行吗?你如何部署这个?前面有 web 服务器(比如 nginx),后面有烧瓶应用(比如 uwsgi)吗?
    • 不,我在烧瓶应用程序上运行它
    【解决方案2】:

    可能的罪魁祸首是另一个 Python 扩展,即flask_restful,它影响了默认的 Flask 错误处理。 flask_jwt_extended 也会发生此错误,这是在原始答案中作为解决方案提供的。

    如果你确实在使用flask_restful,那么修改你的初始化代码:

    app = Flask(__name__)
    app.config['JWT_SECRET_KEY'] = 'my_secret'
    app.config['PROPAGATE_EXCEPTIONS'] = True
    
    # configure Flask App with Flask RESTFUL API
    api = Api(app)
    
    # configure Flask App with JWT support
    jwt = JWTManager(app) 
    

    现在 500 错误将不再发生。

    【讨论】:

      猜你喜欢
      • 2021-09-22
      • 1970-01-01
      • 2018-02-19
      • 2022-09-23
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      相关资源
      最近更新 更多