username_table = {u.username: u for u in users}
userid_table = {u.id: u for u in users}
def authenticate(username, password):
user = username_table.get(username, None)
if user and safe_str_cmp(user.password.encode('utf-8'), password.encode('utf-8')):
return user
from flask import Flask from flask_jwt import JWT, jwt_required, current_identity from werkzeug.security import safe_str_cmp
class User(object): def init(self, id, username, password): self.id = id self.username = username self.password = password
users = [ User(1,'user1','abcxyz'),User(2,'user2','abcxyz'),]
username_table = {u.username: u for u in users} userid_table = {u.id: u for u in users}
def authenticate(username, password): user = username_table.get(username, None) if user and safe_str_cmp(user.password.encode('utf-8'), password.encode('utf-8')): return user
def identity(payload): user_id = payload['identity'] return userid_table.get(user_id, None)
app = Flask(name)
app.config['SECRET_KEY'] = 'super-secret'
jwt = JWT(app, authenticate, identity)
@app.route('/protected') @jwt_required() def protected(): return '%s' % current_identity
if name == 'main': app.run(debug=True)
//my request like this