0

我正在为我的 API 服务器使用 flask restful,并且想使用 flask_jwt 来保护我的端点。

这是我的端点以及我如何将它们添加到 API 服务器

class Model(Resource):
    def get(self):
        return 1 

api.add_resource(Model, '/path')

我想@jet_required为我的 API 端点添加一个简单的装饰器。我怎样才能得到与此类似的东西

@app.route('/protected')
@jwt_required()
def protected():
    return '%s' % current_identity

但是使用flask restful 接口呢?

当我尝试使用以下内容并访问端点时,出现此错误

类模型(资源):@jwt_required
def get(self):返回1

TypeError: .wrapper..decorator at 0x7ff5fb262840> is not JSON serializable 127.0.0.1 - - [22/Jan/2020 10:10:28] "GET /resize HTTP/1.1" 500

4

1 回答 1

0

使用flask_jwt_extended使其工作,如例所示

使用以下代码

app = Flask(__name__)
api = Api(app)
CORS(app)
app.config['JWT_SECRET_KEY'] = 'jwt-secret-string'
jwt = JWTManager(app)

@app.route('/protected')
@jwt_required()
def protected():
    return '%s' % current_identity

现在,在缺少身份验证标头的情况下,它会返回一条优雅的消息。

于 2020-01-22T08:43:31.747 回答