Files
ProjectIOT/application/auth/views.py

31 lines
736 B
Python

from flask import Blueprint, session, redirect, url_for, render_template
from application import keycloak
auth_blueprint = Blueprint("auth", __name__, template_folder="templates")
@auth_blueprint.route("/demo")
def demo():
return render_template("login.html")
@auth_blueprint.route("/")
def home():
user = session.get("user")
if user:
return f'Hello, {user["name"]}'
return redirect(url_for("auth.login"))
@auth_blueprint.route("/login")
def login():
redirect_uri = url_for("auth.auth", _external=True)
return keycloak.authorize_redirect(redirect_uri)
@auth_blueprint.route("/auth")
def auth():
user = keycloak.userinfo()
session["user"] = user
return redirect(url_for("auth.home"))