New endpoint: /httpauth + /httpauth/logout

This commit is contained in:
Felipe M 2020-11-24 10:59:28 +01:00
parent 840e46e268
commit 93af46dd34
2 changed files with 30 additions and 3 deletions

30
app.py
View File

@ -8,14 +8,25 @@ import time
import requests
from flask import Flask, request, Response, render_template, jsonify
from flask_httpauth import HTTPBasicAuth
from werkzeug.routing import Rule
from werkzeug.security import generate_password_hash, check_password_hash
app = Flask(__name__)
app.url_map.add(Rule("/request", endpoint="request"))
logging.basicConfig(format="%(message)s", level="INFO")
black_logger = logging.getLogger("blank")
auth = HTTPBasicAuth()
users = {
"foo": generate_password_hash("bar"),
}
@auth.verify_password
def verify_password(username, password):
if username in users and \
check_password_hash(users.get(username), password):
return username
@app.route("/")
@ -268,5 +279,20 @@ def items_view():
return jsonify(response_body)
@app.route("/httpauth")
@auth.login_required
def http_auth_route():
"""
Route with HTTP Auth enabled
"""
return jsonify({"logged_in": True, "logout": "/httpauth/logout"})
@app.route("/httpauth/logout")
def http_auth_logout_view():
return "Logged out", 401
if __name__ == "__main__":
app.run(debug=True, port=8080, host="0.0.0.0")

View File

@ -1,2 +1,3 @@
flask
requests
Flask-HTTPAuth
requests