pip install Flask-API
python
from flask import Flask
from flask_api import API
python
app = Flask(__name__)
api = API(app)
python
from functools import wraps
from flask import request, jsonify
def authenticate(func):
@wraps(func)
def wrapper(*args, **kwargs):
if not request.headers.get('Authorization'):
response.status_code = 401
return response
return func(*args, **kwargs)
return wrapper
python
@api.route('/protected')
@authenticate
def protected_view():
python
def requires_permission(permission):
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
if not check_permission(request.headers.get('Authorization'), permission):
response.status_code = 403
return response
return func(*args, **kwargs)
return wrapper
return decorator
python
@api.route('/admin')
@authenticate
@requires_permission('admin')
def admin_view():