sso/sso/__init__.py

40 lines
1.0 KiB
Python
Raw Normal View History

2020-05-24 13:00:18 +00:00
import flask
2020-05-30 20:53:06 +00:00
from sso.extensions import db, migrate, login_manager, csrf
2020-05-24 13:00:18 +00:00
from sso.oauth2 import config_oauth
2020-05-30 20:53:06 +00:00
import logging
2020-05-24 13:00:18 +00:00
def create_app():
app = flask.Flask(
__name__, template_folder="../templates", static_folder="../static"
)
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
app.config.from_object("sso.settings")
db.init_app(app)
migrate.init_app(app, db)
login_manager.init_app(app)
2020-05-30 20:53:06 +00:00
csrf.init_app(app)
2020-05-24 13:00:18 +00:00
config_oauth(app)
import sso.views
app.register_blueprint(sso.views.bp)
from werkzeug.middleware.proxy_fix import ProxyFix
2020-05-25 19:57:04 +00:00
if app.config.get("PROXYFIX_ENABLE"):
2020-05-24 13:00:18 +00:00
app.wsgi_app = ProxyFix(
app.wsgi_app,
2020-05-25 19:57:04 +00:00
app.config.get("PROXYFIX_NUM_PROXIES"),
app.config.get("PROXYFIX_NUM_PROXIES"),
app.config.get("PROXYFIX_NUM_PROXIES"),
app.config.get("PROXYFIX_NUM_PROXIES"),
2020-05-24 13:00:18 +00:00
)
2020-05-30 20:53:06 +00:00
if app.config.get('LOGGING_LEVEL'):
logging.basicConfig(level=app.config['LOGGING_LEVEL'])
2020-05-24 13:00:18 +00:00
return app