我正在尝试使用Flask-JWT扩展在目前的基本水平。我从用户表单中获得用户和密码认证。我创建一个访问令牌,将其包含在响应中并路由到另一个受保护的路由。请找到代码的较短版本,如下所示...
from flask import Flask, jsonify, request
from flask_jwt_extended import,JWTManager, jwt_required, create_access_token,get_jwt_identity)
app.config['JWT_SECRET_KEY'] = 'super-secret'
jwt = JWTManager(app)
app.config['JWT_TOKEN_LOCATION'] = ['headers']
app.config['JWT_BLACKLIST_ENABLED'] = True
jwt = JWTManager(app)
app.config['PROPAGATE_EXCEPTIONS'] = True
@log_blueprint.route('/', methods=['GET', 'POST'])
def login():
form = LoginForm()
if request.method == 'POST':
if error is None and username = form.request['user'] and pwd = form.request['pwd'] :
access_token = create_access_token(identity=user)
resp = redirect(url_for('log_blueprint.protected'),access_token)
resp.headers = {'Authorization': 'Bearer {}'.format(access_token)}
return resp
@log_blueprint.route('/protected', methods=["POST","GET"])
@jwt_required
def protected():
current_user = get_jwt_identity()
return jsonify(logged_in_as=current_user), 200
它给我的错误如下...
{"msg":"Missing Authorization Header"}
我尝试了这个页面上的答案...https://stackoverflow.com/questions/52087743/flask-restful-noauthorizationerror-missing-authorization-header但无法得到更好的。请让我知道这个问题的任何解决方案。如果有任何错别字,请原谅。
感谢和问候,Abhinay J K
3条答案
按热度按时间eit6fx6z1#
根据您使用的版本,根据最新稳定版本的更改日志,您应该使用以下符号:
vpfxa7rd2#
如果您使用 Postman 发送请求,请确保检查“键”。
laik7k3q3#
如果它在您的本地机器上工作,但在服务器上不工作,请确保您的服务器接受Authorization标头。请在此处查看答案:Apache strips down "Authorization" header