summaryrefslogtreecommitdiffhomepage
path: root/apioforum/auth.py
diff options
context:
space:
mode:
Diffstat (limited to 'apioforum/auth.py')
-rw-r--r--apioforum/auth.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/apioforum/auth.py b/apioforum/auth.py
new file mode 100644
index 0000000..2d42407
--- /dev/null
+++ b/apioforum/auth.py
@@ -0,0 +1,40 @@
+from flask import (
+ Blueprint, session, request, url_for, render_template, redirect,
+ flash,
+)
+from .db import get_db
+
+
+bp = Blueprint("auth", __name__, url_prefix="/auth")
+
+@bp.route("/login",methods=('GET','POST'))
+def login():
+ if request.method == "POST":
+ username = request.form["username"]
+ password = request.form["password"]
+ db = get_db()
+ err = None
+ if not username:
+ err = "Username required"
+ elif not password:
+ err = "Password required"
+ elif username != "bee" or password != "form":
+ err = "Invalid login"
+
+ if err is None:
+ session.clear()
+ session['user'] = 'bee'
+ return redirect(url_for('auth.cool'))
+
+ flash(err)
+
+ return render_template("auth/login.html")
+
+
+@bp.route("/cool")
+def cool():
+ user = session.get("user")
+ if user is None:
+ return "you are not logged in"
+ else:
+ return f"you are logged in as {user}"