· 9 years ago · Dec 26, 2016, 05:26 PM
1from flask import Flask, request
2import flask
3from functools import wraps
4
5import jwt
6app = Flask(__name__)
7
8SECRET_KEY = "secret"
9
10def token_required(func):
11 @wraps(func)
12 def decorated_function(post_id):
13 try:
14 token = request.headers.get('Authorization').replace("Bearer", "").strip()
15 global payload
16 payload = jwt.decode(token, SECRET_KEY)
17 return func(post_id)
18 except jwt.InvalidTokenError:
19 return flask.jsonify({"status": "error", "msg" : "Invalid token"})
20 return decorated_function
21
22
23@app.route('/post/<int:post_id>')
24@token_required
25def show_post(post_id):
26 return str(payload)
27
28# Lauches the API in port 5000.
29if __name__ == '__main__':
30 app.run(host='0.0.0.0', port=5000, debug=False)