0

現在、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')
4

0 に答える 0