Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. import os
  2. import logging
  3. from flask import Flask, jsonify, request
  4. from flask_jwt_extended import (
  5. JWTManager, jwt_required, create_access_token,
  6. get_jwt_identity
  7. )
  8.  
  9. app = Flask(__name__)
  10. app.config.from_object('config')
  11. jwt = JWTManager(app)
  12.  
  13. #LOGGING
  14. logger = logging.getLogger(__name__)
  15. logger.setLevel(logging.INFO)
  16. handler = logging.FileHandler('testiandolabapi.log')
  17. handler.setLevel(logging.INFO)
  18. formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
  19. handler.setFormatter(formatter)
  20. logger.addHandler(handler)
  21.  
  22. @app.route('/')
  23. def f():
  24. return os.getenv('FLASK_ENV', 'default')
  25. #return f"{app.config['ONEVAR']}"
  26.  
  27.  
  28. # Provide a method to create access tokens. The create_access_token()
  29. # function is used to actually generate the token, and you can return
  30. # it to the caller however you choose.
  31. @app.route('/login', methods=['POST'])
  32. def login():
  33. if not request.is_json:
  34. return jsonify({"msg": "Missing JSON in request"}), 400
  35.  
  36. username = request.json.get('username', None)
  37. password = request.json.get('password', None)
  38. if not username:
  39. return jsonify({"msg": "Missing username parameter"}), 400
  40. if not password:
  41. return jsonify({"msg": "Missing password parameter"}), 400
  42.  
  43. if username != 'test' or password != 'test':
  44. return jsonify({"msg": "Bad username or password"}), 401
  45.  
  46. # Identity can be any data that is json serializable
  47. access_token = create_access_token(identity=username)
  48. return jsonify(access_token=access_token), 200
  49.  
  50.  
  51.  
  52.  
  53. @app.route('/test', methods=['GET'])
  54. @jwt_required
  55. def protected():
  56. # Access the identity of the current user with get_jwt_identity
  57. current_user = get_jwt_identity()
  58. return jsonify(logged_in_as=current_user), 200
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement