首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >其危险的“转储”方法抛出一个TypeError

其危险的“转储”方法抛出一个TypeError
EN

Stack Overflow用户
提问于 2017-09-29 09:38:52
回答 1查看 956关注 0票数 0

我正在遵循“水瓶网络开发”的指导。

我想使用它来生成令牌,但是出现了一些问题。这是我的代码:

代码语言:javascript
复制
def generate_confirmation_token(self, expiration=3600):
    s = Serializer(current_app.config['SECRET_KEY'], expiration)
    return s.dumps({'confirm': self.id})

self.id是一个int对象。

但是不幸的是,“转储”方法抛出一个TypeError:

代码语言:javascript
复制
  File "/Users/zzx/projects/PycharmProjects/wurong/app/models.py", line 76, in generate_confirmation_token
    return s.dumps({'confirm': self.id})
  File "/Users/zzx/.pyenv/versions/3.6.1/envs/venv_blog/lib/python3.6/site-packages/itsdangerous.py", line 566, in dumps
    rv = self.make_signer(salt).sign(payload)
  File "/Users/zzx/.pyenv/versions/3.6.1/envs/venv_blog/lib/python3.6/site-packages/itsdangerous.py", line 353, in sign
    return value + want_bytes(self.sep) + self.get_signature(value)
  File "/Users/zzx/.pyenv/versions/3.6.1/envs/venv_blog/lib/python3.6/site-packages/itsdangerous.py", line 347, in get_signature
    key = self.derive_key()
  File "/Users/zzx/.pyenv/versions/3.6.1/envs/venv_blog/lib/python3.6/site-packages/itsdangerous.py", line 333, in derive_key
    return self.digest_method(salt + b'signer' +
TypeError: unsupported operand type(s) for +: 'int' and 'bytes'

我不知道为什么会发生这个问题,我只是按照我的书的指导~

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-29 13:10:30

Serializer的第二个参数是salt,而不是expirationexpiration根本不是Serializer的参数,而是TimedSerializer.loads的参数,称为max_age

如果您想要过期的令牌,请使用TimedSerializer,并在加载令牌时传递过期信息,而不是在创建令牌时传递过期信息。

代码语言:javascript
复制
def generate_confirmation(self):
    s = TimedSerializer(current_app.secret_key, 'confirmation')
    return s.dumps(self.id)

def check_confirmation(self, token, max_age=3600):
    s = TimedSerializer(current_app.secret_key, 'confirmation')
    return s.loads(token, max_age=max_age) == self.id
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46486062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档