将Autho0装饰器与Flask-RESTful资源一起使用

时间:2017-06-20 15:25:48

标签: python flask flask-restful

我需要将Autho0用于我的Flask-RESTful应用程序。 Auth0在视图函数上使用requires_auth装饰器example

@app.route('/secured/ping')
@cross_origin(headers=['Content-Type', 'Authorization'])
@requires_auth
def securedPing():
    return "All good. You only get this message if you're authenticated"

使用Flask-RESTful,我使用add_resourceResource类,而不是app.route和视图功能。如何将requires_auth应用于Version

app = Flask(__name__)
API = Api(app)
CORS = CORS(app, resources={r'/api/*': {'origins': '*'}})
API.add_resource(Version, '/api/v1')

1 个答案:

答案 0 :(得分:3)

Flask-Restful文档描述了如何specify decorators for a resource

  

Resource类上有一个名为method_decorators的属性。您可以继承Resource并添加自己的装饰器,这些装饰器将添加到资源中的所有方法函数中。

class AuthResource(Resource):
    method_decorators = [requires_auth]

# inherit AuthResource instead of Resource to define Version