Source:
https://github.com/mozilla-services/tokenlib
Make a token, hashed with a secret, and storing an IP, that expires in 12 seconds
>>> t = tokenlib.make_token({"ip":"1.1.1.1."}, secret="1234567890", timeout=12)
Parse a token before expiration time is up
>>> tokenlib.parse_token(t, secret="1234567890")
{u'ip': u'1.1.1.1.', u'expires': 1428098130.01954, u'salt': u'fbd08e'}
Parse a token after expiration time is up
>>> tokenlib.parse_token(t, secret="1234567890")
Traceback (most recent call last):
File "
File "tokenlib/__init__.py", line 186, in parse_token
return TokenManager(**kwds).parse_token(token, now=now)
File "/tokenlib/__init__.py", line 143, in parse_token
raise errors.ExpiredTokenError()
tokenlib.errors.ExpiredTokenError: token has expired