sso/website/app.py

34 lines
742 B
Python

import logging
from flask import Flask
from flask_login import LoginManager
from .models import db
from .routes import bp
from .ldap import LDAPUser
from .oauth2 import config_oauth
def create_app():
app = Flask("auth")
app.config.from_object(__name__)
app.config.from_pyfile("auth.cfg")
setup_app(app)
return app
def setup_app(app):
logging.basicConfig(
level=logging.DEBUG,
format="[%(asctime)-15s] %(name)-10s %(levelname)7s: %(message)s",
)
db.init_app(app)
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = "/login"
login_manager.user_loader(LDAPUser.by_login)
config_oauth(app)
app.register_blueprint(bp, url_prefix='')