コード例 #1
0
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",
コード例 #2
0
)

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

コード例 #3
0
ファイル: demo.py プロジェクト: philiptzou/flask-mwoauth
# 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)
コード例 #4
0
    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')
コード例 #5
0
            ('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()
コード例 #6
0
from wpcgi import app
from flask_mwoauth import MWOAuth
mwoauth = MWOAuth(consumer_key=app.config['CONSUMER_KEY'],
                  consumer_secret=app.config['CONSUMER_SECRET'])
コード例 #7
0
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", {})
コード例 #8
0
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