def decode_token(token, secret='', ttl=DEFAULT_TTL, verify=True):
try:
token = jwt.decode(str(token), secret, verify=verify)
except jwt.DecodeError as e:
raise TokenInvalid("error decoding JSON Web Token", e)
if verify:
issue_time = token.get('issuedAt')
if issue_time is None:
raise TokenInvalid("'issuedAt' is missing from token")
issue_time = isodate.parse_datetime(issue_time)
expiry_time = issue_time + datetime.timedelta(seconds=ttl)
if issue_time > _now():
raise TokenInvalid("token is not yet valid")
if expiry_time < _now():
raise TokenInvalid("token has expired")
return token
评论列表
文章目录