Skip to content

Instantly share code, notes, and snippets.

@kageurufu
Created April 4, 2016 18:18
Show Gist options
  • Save kageurufu/b3a99ce6466370918d0037e1b06509bc to your computer and use it in GitHub Desktop.
Save kageurufu/b3a99ce6466370918d0037e1b06509bc to your computer and use it in GitHub Desktop.
from flask import Flask, render_template_string, jsonify
from flask.ext.login import LoginManager, UserMixin, current_user
class User(UserMixin):
def __init__(self, token, email):
self.id = email
self.token = token
USERS = {'1': User('1', 'kageurufu@kageurufu.net'),
'2': User('2', 'TenserTensor@gmail.com'),
'3': User('3', 'foo@bar.com')}
app = Flask(__name__)
login = LoginManager(app)
app.config['AUTH_HEADER_NAME'] = 'X-Api-Key'
@login.header_loader
def get_user(header):
return USERS.get(header.strip(), None)
@app.route('/')
def index():
if current_user.is_authenticated:
return jsonify(user=current_user.get_id())
return jsonify({'users': [dict(id=user.get_id(), token=user.token) for user in USERS.values()]})
if __name__ == '__main__':
app.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment