2020-02-24 18:46:38 +00:00
|
|
|
import logging
|
|
|
|
|
|
|
|
from flask import Flask
|
|
|
|
from flask_login import LoginManager
|
2020-02-24 20:05:45 +00:00
|
|
|
from flask_migrate import Migrate
|
2020-02-24 18:46:38 +00:00
|
|
|
|
|
|
|
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)
|
2020-02-24 20:05:45 +00:00
|
|
|
migrate = Migrate(app, db)
|
2020-02-24 18:46:38 +00:00
|
|
|
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='')
|