bosh_cli 1.2981.0 → 1.2982.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a8e1d3bf5c54dd7d88ea097bc989c0fee02b2481
4
- data.tar.gz: 52c1003f0a7f996c73e66987953a4087e58ccca8
3
+ metadata.gz: 6f9901f35b38a8d19557f025c539b6429ad6d1cb
4
+ data.tar.gz: c0b59a2d9ddfa2d1c5827d3cb899eb97cf278b27
5
5
  SHA512:
6
- metadata.gz: 9c16af5b713b12caa76ad0711b80905d9cfca32cb24fbf6f57a94bfd3588425b58c9aed8ef7b817ac91c466e6f5a04176fcc5a04ed61fb08527f1bd83b6af19f
7
- data.tar.gz: 3cdbb9050100b5f0ee45ce0ac2c957f682072aca593fcbe08ac29ad337433a203392110760ba156447086915a53f6cd3a4ee0b66bffb9a2af3b5d372539ff3c4
6
+ metadata.gz: f80da0368d9d91d331e37d0c225e250a287e9881a7ea5f587158487149a0e1bc1c16c34f4ecfdb9f401d5ee7eb8b2f48fe475d2289e5742865446de18ff75336
7
+ data.tar.gz: 08a5c19f09873e03bf20b6208330ca167549d248387df76d813746c92d672ef3c1f070c337cc91f543e4c42af5a4298f2e8c17932bbfdf1fbf0a98fbe30168bb
@@ -100,10 +100,6 @@ module Bosh::Cli
100
100
  end
101
101
 
102
102
  def credentials
103
- director_client = Client::Director.new(target)
104
- auth_info = Client::Uaa::AuthInfo.new(director_client, ENV, config.ca_cert(target))
105
- token_decoder = Client::Uaa::TokenDecoder.new
106
- uaa_token_provider = Client::Uaa::TokenProvider.new(auth_info, config, token_decoder, target)
107
103
  auth_token = uaa_token_provider.token
108
104
  return Client::UaaCredentials.new(auth_token) if auth_token
109
105
 
@@ -114,6 +110,15 @@ module Bosh::Cli
114
110
  nil
115
111
  end
116
112
 
113
+ def uaa_token_provider
114
+ @uaa_token_provider ||= begin
115
+ director_client = Client::Director.new(target)
116
+ auth_info = Client::Uaa::AuthInfo.new(director_client, ENV, config.ca_cert(target))
117
+ token_decoder = Client::Uaa::TokenDecoder.new
118
+ Client::Uaa::TokenProvider.new(auth_info, config, token_decoder, target)
119
+ end
120
+ end
121
+
117
122
  def target_name
118
123
  options[:target] || config.target_name || target_url
119
124
  end
@@ -5,18 +5,6 @@ module Bosh
5
5
  class AccessInfo
6
6
  EXPIRATION_DEADLINE_IN_SECONDS = 30
7
7
 
8
- def self.from_config(config_access_token, refresh_token, token_decoder)
9
- token_type, access_token = config_access_token.split(' ')
10
- return nil unless token_type && access_token
11
-
12
- token_info = CF::UAA::TokenInfo.new({
13
- access_token: access_token,
14
- refresh_token: refresh_token,
15
- token_type: token_type,
16
- })
17
- new(token_info, token_decoder)
18
- end
19
-
20
8
  def initialize(token_info, token_decoder)
21
9
  @token_info = token_info
22
10
  @token_decoder = token_decoder
@@ -58,6 +46,18 @@ module Bosh
58
46
  end
59
47
 
60
48
  class PasswordAccessInfo < AccessInfo
49
+ def self.create(full_access_token, refresh_token, token_decoder)
50
+ token_type, access_token = full_access_token.split(' ')
51
+ return nil unless token_type && access_token
52
+
53
+ token_info = CF::UAA::TokenInfo.new({
54
+ access_token: access_token,
55
+ refresh_token: refresh_token,
56
+ token_type: token_type,
57
+ })
58
+ new(token_info, token_decoder)
59
+ end
60
+
61
61
  def username
62
62
  token_data['user_name']
63
63
  end
@@ -11,6 +11,7 @@ module Bosh
11
11
  class Client
12
12
  def initialize(target, auth_info, config)
13
13
  @target = target
14
+ @auth_info = auth_info
14
15
  token_decoder = TokenDecoder.new
15
16
  if auth_info.client_auth?
16
17
  token_issuer = ClientTokenIssuer.new(auth_info, token_decoder)
@@ -47,7 +48,7 @@ module Bosh
47
48
 
48
49
  def with_save
49
50
  access_info = yield
50
- if access_info.auth_header
51
+ if access_info.auth_header && !@auth_info.client_auth?
51
52
  @config.set_credentials(@target, access_info.to_hash)
52
53
  @config.save
53
54
  end
@@ -13,12 +13,10 @@ module Bosh
13
13
  end
14
14
 
15
15
  def token
16
- config_access_token = @config.access_token(@target)
17
-
18
16
  if @auth_info.client_auth?
19
- access_info = client_access_info(config_access_token)
17
+ access_info = client_access_info
20
18
  else
21
- access_info = password_access_info(config_access_token)
19
+ access_info = password_access_info
22
20
  end
23
21
 
24
22
  access_info.auth_header if access_info
@@ -30,24 +28,19 @@ module Bosh
30
28
  @uaa_client ||= Bosh::Cli::Client::Uaa::Client.new(@target, @auth_info, @config)
31
29
  end
32
30
 
33
- def client_access_info(config_access_token)
34
- unless config_access_token
35
- return uaa_client.access_info({})
36
- end
37
-
38
- access_info = ClientAccessInfo.from_config(config_access_token, nil, @token_decoder)
39
- return nil unless access_info
40
-
41
- if access_info.was_issued_for?(@auth_info.client_id)
42
- return refresh_if_needed(access_info)
31
+ def client_access_info
32
+ if !@client_access_info.nil? && @client_access_info.was_issued_for?(@auth_info.client_id)
33
+ @client_access_info = refresh_if_needed(@client_access_info)
34
+ else
35
+ @client_access_info = uaa_client.access_info({})
43
36
  end
44
- uaa_client.access_info({})
45
37
  end
46
38
 
47
- def password_access_info(config_access_token)
39
+ def password_access_info
40
+ config_access_token = @config.access_token(@target)
48
41
  return nil unless config_access_token
49
42
 
50
- access_info = PasswordAccessInfo.from_config(config_access_token, @config.refresh_token(@target), @token_decoder)
43
+ access_info = PasswordAccessInfo.create(config_access_token, @config.refresh_token(@target), @token_decoder)
51
44
  return nil unless access_info
52
45
 
53
46
  refresh_if_needed(access_info)
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Cli
3
- VERSION = '1.2981.0'
3
+ VERSION = '1.2982.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2981.0
4
+ version: 1.2982.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - VMware
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-08 00:00:00.000000000 Z
11
+ date: 2015-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bosh_common
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2981.0
19
+ version: 1.2982.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.2981.0
26
+ version: 1.2982.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bosh-template
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2981.0
33
+ version: 1.2982.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.2981.0
40
+ version: 1.2982.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cf-uaa-lib
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 1.2981.0
131
+ version: 1.2982.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.2981.0
138
+ version: 1.2982.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: net-ssh
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -306,7 +306,7 @@ dependencies:
306
306
  version: '0'
307
307
  description: |-
308
308
  BOSH CLI
309
- 4246cc
309
+ 30e5c6
310
310
  email: support@cloudfoundry.com
311
311
  executables:
312
312
  - bosh