summaryrefslogtreecommitdiffstats
path: root/keystone/token
diff options
context:
space:
mode:
authorFabio Giannetti <fabio.giannetti@hp.com>2013-06-15 22:29:21 -0700
committerJamie Lennox <jamielennox@gmail.com>2013-07-17 15:21:33 +1000
commit53a03b53e7541367c07df6d4f6739173330f5353 (patch)
tree824f746b82e155da13e23b4a3c6425467ce63fa9 /keystone/token
parentf6d929db964695a721461ba1116770092a7ba36d (diff)
downloadkeystone-53a03b53e7541367c07df6d4f6739173330f5353.tar.gz
keystone-53a03b53e7541367c07df6d4f6739173330f5353.tar.xz
keystone-53a03b53e7541367c07df6d4f6739173330f5353.zip
Implemented token creation without catalog response.
Modified the token_factory to create token responses with or without the catalog entry. blueprint catalog-optional Change-Id: Icdc4400f08f4619a19e44129c78240800a3a1e75
Diffstat (limited to 'keystone/token')
-rw-r--r--keystone/token/providers/uuid.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/keystone/token/providers/uuid.py b/keystone/token/providers/uuid.py
index 413c7479..aff738f0 100644
--- a/keystone/token/providers/uuid.py
+++ b/keystone/token/providers/uuid.py
@@ -285,7 +285,7 @@ class V3TokenDataHelper(object):
def get_token_data(self, user_id, method_names, extras,
domain_id=None, project_id=None, expires=None,
- trust=None, token=None):
+ trust=None, token=None, include_catalog=True):
token_data = {'methods': method_names,
'extras': extras}
@@ -302,8 +302,9 @@ class V3TokenDataHelper(object):
self._populate_scope(token_data, domain_id, project_id)
self._populate_user(token_data, user_id, domain_id, project_id, trust)
self._populate_roles(token_data, user_id, domain_id, project_id, trust)
- self._populate_service_catalog(token_data, user_id, domain_id,
- project_id, trust)
+ if include_catalog:
+ self._populate_service_catalog(token_data, user_id, domain_id,
+ project_id, trust)
self._populate_token_dates(token_data, expires=expires, trust=trust)
return {'token': token_data}
@@ -367,6 +368,7 @@ class Provider(token.provider.Provider):
auth_context = kwargs.get('auth_context')
trust = kwargs.get('trust')
metadata_ref = kwargs.get('metadata_ref')
+ include_catalog = kwargs.get('include_catalog')
# for V2, trust is stashed in metadata_ref
if (CONF.trust.enabled and not trust and metadata_ref and
'trust_id' in metadata_ref):
@@ -378,7 +380,8 @@ class Provider(token.provider.Provider):
domain_id=domain_id,
project_id=project_id,
expires=expires_at,
- trust=trust)
+ trust=trust,
+ include_catalog=include_catalog)
token_id = self._get_token_id(token_data)
try: