def generate_auth_token(self, user_id):
"""Generate an auth token for the user."""
user = await self.db.execute('SELECT * FROM user WHERE id = ?;', user_id)
if user:
user = user[0]
token_data = bytes((user[1] + ':' + ':' + str(now().timestamp())), 'utf8')
token = hashlib.blake2b(digest_size=16, key=self.private_key)
token.update(token_data)
token = '{0}:{1}'.format(token.hexdigest(), user[1])
token_base64 = base64.b64encode(bytes(token, 'utf8')).decode("utf-8")
await self.db.execute('UPDATE user SET token=? WHERE id = ?;', token_base64, user_id)
return token_base64
else:
raise HTTPError(401, 'Cannot locate user with id "{}"'.format(user_id))
评论列表
文章目录