class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(255)) is_active = db.Column(db.Boolean, default=True) is_admin = db.Column(db.Boolean, default=False) language = db.Column(db.String(3)) class StoredMap(db.Model): id = db.Column(db.Integer, primary_key=True) payload = db.Column(db.Text) mwoauth = MWOAuth( consumer_key=app.config.get('CONSUMER_KEY'), consumer_secret=app.config.get('CONSUMER_SECRET'), base_url=app.config.get('OAUTH_MWURI'), ) app.register_blueprint(mwoauth.bp) stats_filename = app.config.get( 'STATS_COUNTER_FILE', '/tmp/wikinity-stats.txt' ) QUERY_TYPES = [ "coordinate", "item", "photographed", "unphotographed", "all",
) app = Flask(__name__, static_url_path='', static_folder='static/') app.config.from_pyfile('config.py') # HTTP security headers Talisman(app, content_security_policy={}) # CSRF protection. settings fitting Angular $httpProvider app.config['CSRF_COOKIE_NAME'] = 'XSRF-TOKEN' app.config['CSRF_HEADER_NAME'] = 'X-XSRF-TOKEN' app.config['CSRF_COOKIE_PATH'] = '/locator-tool/' SeaSurf(app) mwoauth = MWOAuth(base_url='https://commons.wikimedia.org/w', clean_url='https://commons.wikimedia.org/wiki', consumer_key=app.config['OAUTH_CONSUMER_KEY'], consumer_secret=app.config['OAUTH_CONSUMER_SECRET']) app.register_blueprint(mwoauth.bp) @app.route('/') def index(): return app.send_static_file('index.html') @app.route('/user') def user(): r = jsonify(user=mwoauth.get_current_user(False)) return r
# different requests, which means you can't read data stored in cookies, # which in turn breaks OAuth. # # So, for an actual application, use app.secret_key = "some long secret key" # (which you could generate using os.urandom(24)) # app.secret_key = os.urandom(24) print """ NOTE: The callback URL you entered when proposing an OAuth consumer probably did not match the URL under which you are running this development server. Your redirect back will therefore fail -- please adapt the URL in your address bar to http://localhost:5000/oauth-callback?oauth_verifier=...etc """ consumer_key = raw_input('Consumer key: ') consumer_secret = raw_input('Consumer secret: ') mwoauth = MWOAuth(consumer_key=consumer_key, consumer_secret=consumer_secret) app.register_blueprint(mwoauth.bp) @app.route("/") def index(): return "logged in as: " + repr(mwoauth.get_current_user(False)) + "<br>" + \ "<a href=login>login</a> / <a href=logout>logout</a>" if __name__ == "__main__": app.run(debug=True)
conf.api_key_prefix["Authorization"] = "Bearer" conf.host = Config.FATCAT_API_HOST return fatcat_openapi_client.DefaultApi(fatcat_openapi_client.ApiClient(conf)) if Config.FATCAT_API_AUTH_TOKEN: print("Found and using privileged token (eg, for account signup)") priv_api = auth_api(Config.FATCAT_API_AUTH_TOKEN) else: print("No privileged token found") priv_api = None # TODO: refactor integration so this doesn't always need to be definied. If # key/secret are empty, library will not init; if init is skipped, get # undefined errors elsewhere. mwoauth = MWOAuth( consumer_key=Config.WIKIPEDIA_CLIENT_ID or "dummy", consumer_secret=Config.WIKIPEDIA_CLIENT_SECRET or "dummy", default_return_to='wp_oauth_finish_login') mwoauth.handshaker.user_agent = "fatcat.wiki;python_web_interface" app.register_blueprint(mwoauth.bp, url_prefix='/auth/wikipedia') from fatcat_web import routes, editing_routes, auth, cors, forms # TODO: blocking on ORCID support in loginpass if Config.ORCID_CLIENT_ID: orcid_bp = create_flask_blueprint(ORCiD, oauth, auth.handle_oauth) app.register_blueprint(orcid_bp, url_prefix='/auth/orcid') if Config.GITLAB_CLIENT_ID: gitlab_bp = create_flask_blueprint(Gitlab, oauth, auth.handle_oauth) app.register_blueprint(gitlab_bp, url_prefix='/auth/gitlab')
('new', 'Newari'), ('or', 'Oriya'), ('pi', 'Pali'), ('pa', 'Punjabi'), ('sa', 'Sanskrit'), ('sat', 'Santali'), ('sd', 'Sindhi'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tcy', 'Tulu'), ('ur', 'Urdu')] trproject = SelectField('Select Project', choices=projects, render_kw={"class": "form-control"}) trlang = SelectField('Select Language', choices=lang, render_kw={"class": "form-control"}) # Register blueprint to app MW_OAUTH = MWOAuth(base_url=BASE_URL, consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET) app.register_blueprint(MW_OAUTH.bp) # /index route for return_to @app.route('/index', methods=['GET']) @app.route("/") def index(): if (logged() is not None) and (db_user() is not None): user = db_user() fields = SelectFields(trlang=user.pref_language, trproject=user.pref_project) else: fields = SelectFields()
from wpcgi import app from flask_mwoauth import MWOAuth mwoauth = MWOAuth(consumer_key=app.config['CONSUMER_KEY'], consumer_secret=app.config['CONSUMER_SECRET'])
useragent = "StewardBots UI ([email protected])" # Load configuration from YAML file __dir__ = os.path.dirname(__file__) app.config.update( yaml.safe_load( open(os.path.join(__dir__, os.environ.get("FLASK_CONFIG_FILE", "config.yaml"))) ) ) locales = Locales(app) _ = locales.get_message mwoauth = MWOAuth( consumer_key=app.config.get("CONSUMER_KEY"), consumer_secret=app.config.get("CONSUMER_SECRET"), base_url=app.config.get("OAUTH_MWURI"), ) app.register_blueprint(mwoauth.bp) def logged(): return mwoauth.get_current_user() is not None def mw_request(data, url=None): if url is None: api_url = mwoauth.api_url else: api_url = url access_token = session.get("mwoauth_access_token", {})
config = configparser.ConfigParser() config.read('../config.ini') app = Flask(__name__) app.secret_key = config.get('auth', 'secret_key') app.config.update(PROPAGATE_EXCEPTIONS=True) logfile = TimedRotatingFileHandler(filename='locator-tool.log', when='midnight') logfile.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')) logfile.setLevel(logging.INFO) app.logger.addHandler(logfile) logging.getLogger('werkzeug').addHandler(logfile) mwoauth = MWOAuth(base_url='https://commons.wikimedia.org/w', clean_url='https://commons.wikimedia.org/wiki', consumer_key=config.get('auth', 'consumer_key'), consumer_secret=config.get('auth', 'consumer_secret')) app.register_blueprint(mwoauth.bp) @app.route('/') def index(): return redirect('index.html') @app.route('/user') def user(): r = jsonify(user=mwoauth.get_current_user(False)) return r