- if token == "quentin":
- self.auth = "quentin@ATHENA.MIT.EDU"
- return #FIXME
- token = base64.urlsafe_b64decode(token)
- token = cPickle.loads(token)
- m = hmac.new(TOKEN_KEY, digestmod=sha)
- m.update(token['data'])
- if (m.digest() == token['digest']):
- data = cPickle.loads(token['data'])
- expires = data["expires"]
- if (time.time() < expires):
- self.auth = data["user"]
+ try:
+ token = base64.urlsafe_b64decode(token)
+ token = cPickle.loads(token)
+ m = hmac.new(TOKEN_KEY, digestmod=sha)
+ m.update(token['data'])
+ self.auth_error = "Invalid token"
+ if (m.digest() == token['digest']):
+ data = cPickle.loads(token['data'])
+ expires = data["expires"]
+ if (time.time() < expires):
+ self.auth = data["user"]
+ self.auth_error = None
+ self.auth_machine = data["machine"]
+ self.auth_data = data
+ else:
+ self.auth_error = "Token has expired; please try logging in again"
+ except:
+ self.auth = None
+ print sys.exc_info()