summaryrefslogtreecommitdiffstats
path: root/keystone/token/backends/memcache.py
diff options
context:
space:
mode:
Diffstat (limited to 'keystone/token/backends/memcache.py')
-rw-r--r--keystone/token/backends/memcache.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/keystone/token/backends/memcache.py b/keystone/token/backends/memcache.py
index d0d59eef..b80d01bc 100644
--- a/keystone/token/backends/memcache.py
+++ b/keystone/token/backends/memcache.py
@@ -178,7 +178,8 @@ class Token(token.Driver):
self._add_to_revocation_list(data)
return result
- def list_tokens(self, user_id, tenant_id=None, trust_id=None):
+ def list_tokens(self, user_id, tenant_id=None, trust_id=None,
+ consumer_id=None):
tokens = []
user_key = self._prefix_user_id(user_id)
user_record = self.client.get(user_key) or ""
@@ -199,6 +200,13 @@ class Token(token.Driver):
continue
if trust != trust_id:
continue
+ if consumer_id is not None:
+ try:
+ oauth = token_ref['token_data']['token']['OS-OAUTH1']
+ if oauth.get('consumer_id') != consumer_id:
+ continue
+ except KeyError:
+ continue
tokens.append(token_id)
return tokens