def generate_token(self, user_id: str):
"""Generate a very random token tied to an user.
Parameters
----------
userid: str
User ID tied to that token
"""
user_id = str(user_id)
userid_encoded = base64.urlsafe_b64encode(user_id.encode())
raw_user = self.get_raw_user(user_id)
if raw_user is None:
raise Exception('User not found to generate a token from')
try:
pwd_hash = raw_user['password']['hash']
except:
log.debug(raw_user)
raise Exception('Raw user is not a good one')
s = TimestampSigner(pwd_hash)
return s.sign(userid_encoded).decode()
评论列表
文章目录