Exemplo n.º 1
0
 def _delete_keys(self, user_id, token_id):
     pipe = self.conn.pipeline()
     token_key = keys.token(token_id)
     pipe.delete(token_key, )
     if user_id is not None:
         user_key = keys.usertoken(user_id['id'], token_id)
         pipe.delete(user_key, )
     pipe.sadd(keys.revoked(), token_id)
     return pipe.execute()[0]
Exemplo n.º 2
0
 def _set_keys(self, user_id, token_id, json_data, ttl_seconds):
     pipe = self.conn.pipeline()
     token_key = keys.token(token_id)
     if user_id:
         user_key = keys.usertoken(user_id['id'], token_id)
     if ttl_seconds is None:
         pipe.set(token_key, json_data)
         if user_id:
             pipe.set(user_key, '')
     else:
         pipe.setex(token_key, json_data, ttl_seconds)
         if user_id:
             pipe.setex(user_key, '', ttl_seconds)
     pipe.execute()
Exemplo n.º 3
0
 def list_tokens(self, user_id, tenant=None):
     pattern = keys.usertoken(user_id, '*')
     user_keys = self.readonly.keys(pattern)
     return [keys.parse_usertoken(key)[1] for key in user_keys]