from flask import Flask from flask import session as flask_session from flask_openid import OpenID from db import session, Royal, Steam import re # Init the config reader import configparser config = configparser.ConfigParser() config.read("config.ini") # Init Flask and Flask_OpenID app = Flask(__name__) app.secret_key = config["Steam"]["secret_key"] oid = OpenID(app) @app.route("/login/") @oid.loginhandler def page_steam_login(royal_id): flask_session["royal_id"] = royal_id return oid.try_login("http://steamcommunity.com/openid") @oid.after_login def page_after_login(response): steam_id = re.search("https?://steamcommunity\.com/openid/id/(.+)", response.identity_url).group(1) db_steam = session.query(Steam).filter(Steam.steam_id == steam_id).first() if db_steam is None: db_steam = Steam(royal_id=flask_session["royal_id"], steam_id=steam_id) session.add(db_steam) session.commit() return "Account Steam collegato con successo!" else: return "Il tuo account Steam è già collegato." if __name__ == "__main__": app.run(host="0.0.0.0", port=config["Steam"]["flask_port"])