diff options
author | Julien Danjou <julien@danjou.info> | 2013-01-22 15:25:33 +0100 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-04-19 04:26:17 +0000 |
commit | 22228f526d6ea08b7006be1287afe959b93c23db (patch) | |
tree | 4f2ed582af628f0e19fdb0b8d3eaade4acdc3f63 /keystoneclient/client.py | |
parent | fc54b30e58e95fccba27f975fa3da3016630b414 (diff) | |
download | python-keystoneclient-22228f526d6ea08b7006be1287afe959b93c23db.tar.gz |
Use TokenManager to get token
Instead of implementing token retrieval twice, let's use the code provided
by the TokenManger to get a token in raw format from Keystone.
Change-Id: I769be118ee137580cabd5cabcf7843e7afe1e456
Signed-off-by: Julien Danjou <julien@danjou.info>
Diffstat (limited to 'keystoneclient/client.py')
-rw-r--r-- | keystoneclient/client.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/keystoneclient/client.py b/keystoneclient/client.py index e3c2ed5..46ec25d 100644 --- a/keystoneclient/client.py +++ b/keystoneclient/client.py @@ -144,7 +144,7 @@ class HTTPClient(object): del self.auth_token_from_user def authenticate(self, username=None, password=None, tenant_name=None, - tenant_id=None, auth_url=None, token=None): + tenant_id=None, token=None): """ Authenticate user. Uses the data provided at instantiation to authenticate against @@ -177,7 +177,6 @@ class HTTPClient(object): * if force_new_token is true """ - auth_url = auth_url or self.auth_url username = username or self.username password = password or self.password tenant_name = tenant_name or self.tenant_name @@ -189,7 +188,7 @@ class HTTPClient(object): and not self.auth_ref.will_expire_soon(self.stale_duration)): token = self.auth_ref.auth_token - (keyring_key, auth_ref) = self.get_auth_ref_from_keyring(auth_url, + (keyring_key, auth_ref) = self.get_auth_ref_from_keyring(self.auth_url, username, tenant_name, tenant_id, @@ -197,8 +196,7 @@ class HTTPClient(object): new_token_needed = False if auth_ref is None or self.force_new_token: new_token_needed = True - raw_token = self.get_raw_token_from_identity_service(auth_url, - username, + raw_token = self.get_raw_token_from_identity_service(username, password, tenant_name, tenant_id, @@ -402,8 +400,11 @@ class HTTPClient(object): url_to_use = self.management_url kwargs.setdefault('headers', {}) - if self.auth_token: - kwargs['headers']['X-Auth-Token'] = self.auth_token + if (self.auth_ref + and not self.auth_ref.will_expire_soon(self.stale_duration)): + kwargs['headers']['X-Auth-Token'] = self.auth_ref.auth_token + elif self.auth_token_from_user: + kwargs['headers']['X-Auth-Token'] = self.auth_token_from_user resp, body = self.request(url_to_use + url, method, **kwargs) |