【发布时间】:2021-10-27 11:57:57
【问题描述】:
这个 Flask 端点是我尝试在 POST 上使用 jwt 令牌来解决 Insomnia 的问题:
@app.route('/', methods=['POST'])
@token_required
def json_payloader():
try:
some code to do stuff...
无论我尝试什么,我都会在互联网上四处寻找:
{
"message": "Token is missing!"
}
或将身份验证设置为 None 并且仅尝试使用令牌的标头这也会失败:
非常感谢任何提示尝试。
编辑 token_required函数
from flask import Flask, request, jsonify
import flask
from flask.helpers import make_response
import jwt
from functools import wraps
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
【问题讨论】:
-
您能否说明
token_required是从哪里导入的? -
我在帖子的编辑中添加了
-
似乎基本问题是您正试图从 args 中检索令牌,但它在标题中:flask.palletsprojects.com/en/2.0.x/api/#flask.Request.args
标签: python authentication flask python-requests jwt