Beispiel #1
0
 def token_time_remaining(token):
     s = Serializer(current_app.config['SECRET_KEY'])
     try:
         data = s.loads(token, return_header=True)
     except SignatureExpired:
         return None
     except BadSignature:
         return None
     data = s.loads(token, return_header=True)
     token_time_remaining = (data[1]['exp'] - s.now())
     return token_time_remaining
Beispiel #2
0
    def _get_token(self, type, data, expiration):
        """
        Generate new token if:
        1. first time 2. previous token is expired
        Otherwise get token from cache.
        """
        s = Serializer(current_app.config['SECRET_KEY'], expiration)
        cached_token = _token_cache.get((self, type))
        header = s.make_header({})

        if cached_token and header['exp'] >= s.now():
            return cached_token

        token = s.dumps(data)
        _token_cache[(self, type)] = token
        return token