2017-06-20 88 views
1

我需要为我的Flask-RESTful应用使用Autho0。 Auth0有一个example在视图函数上使用装饰器requires_auth使用带有Flask-RESTful资源的Autho0装饰器

@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" 

随着瓶的RESTful我用add_resourceResource类,而不是app.route以期功能。我如何申请requires_authVersion

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

回答

2

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