現在、flask-jwt ライブラリhttps://github.com/mattupstate/flask-jwtとフラスコ sqlalchemy を使用しています。ヘッダーに認証トークンを渡すと、というエラーが表示されますUser object is not callable
。私はここで与えられた例に従いましたhttps://pythonhosted.org/Flask-JWT/ sqlalchemy モデルと引き換えにモデルを切り替えます。サンプル コードは User オブジェクトを返しますが、sqlalchemy に切り替えるとエラーが発生します。
これが私のモデルです:
db = SQLAlchemy(app)
#we should prepare the data that we need from here
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
Username = db.Column(db.String(80))
Password = db.Column(db.String(64))
Hosts = db.relationship('Host', backref='user', lazy='dynamic')
def __init__(self, username, password):
self.Username = username
self.Password = password
def __str__(self):
return "User(id='%s')" % self.id
ここで失敗します:
def identity(payload):
print str(payload)
print str(User.query.get(payload['identity']))
return User.query.get(payload['identity'])
ペイロードとユーザーの両方が出力されていることがわかります。これが出力です。
{u'iat': 1464650823, u'exp': 1464651123, u'nbf': 1464650823, u'identity': 1}
User(id='1')