0

每当我关闭服务器并再次打开并尝试使用以前的令牌访问路由而不登录应用程序时,它会给我 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>
4

2 回答 2

0

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

于 2017-06-28T14:26:17.773 回答
0

可能的罪魁祸首是另一个 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-12-08T05:27:58.917 回答