bosh_cli 1.2981.0 → 1.2982.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/cli/base_command.rb +9 -4
- data/lib/cli/client/uaa/access_info.rb +12 -12
- data/lib/cli/client/uaa/client.rb +2 -1
- data/lib/cli/client/uaa/token_provider.rb +10 -17
- data/lib/cli/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f9901f35b38a8d19557f025c539b6429ad6d1cb
|
4
|
+
data.tar.gz: c0b59a2d9ddfa2d1c5827d3cb899eb97cf278b27
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f80da0368d9d91d331e37d0c225e250a287e9881a7ea5f587158487149a0e1bc1c16c34f4ecfdb9f401d5ee7eb8b2f48fe475d2289e5742865446de18ff75336
|
7
|
+
data.tar.gz: 08a5c19f09873e03bf20b6208330ca167549d248387df76d813746c92d672ef3c1f070c337cc91f543e4c42af5a4298f2e8c17932bbfdf1fbf0a98fbe30168bb
|
data/lib/cli/base_command.rb
CHANGED
@@ -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
|
17
|
+
access_info = client_access_info
|
20
18
|
else
|
21
|
-
access_info = password_access_info
|
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
|
34
|
-
|
35
|
-
|
36
|
-
|
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
|
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.
|
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)
|
data/lib/cli/version.rb
CHANGED
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.
|
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-
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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
|
-
|
309
|
+
30e5c6
|
310
310
|
email: support@cloudfoundry.com
|
311
311
|
executables:
|
312
312
|
- bosh
|