cf-uaac 1.3.9 → 2.0.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.
- data/cf-uaac.gemspec +1 -1
- data/lib/cli/common.rb +2 -2
- data/lib/cli/info.rb +11 -7
- data/lib/cli/runner.rb +8 -1
- data/lib/cli/token.rb +1 -1
- data/lib/cli/version.rb +1 -1
- data/spec/group_spec.rb +2 -1
- metadata +29 -101
data/cf-uaac.gemspec
CHANGED
@@ -38,7 +38,7 @@ Gem::Specification.new do |s|
|
|
38
38
|
s.add_development_dependency "simplecov"
|
39
39
|
s.add_development_dependency "simplecov-rcov"
|
40
40
|
s.add_development_dependency "ci_reporter"
|
41
|
-
s.add_runtime_dependency "cf-uaa-lib", "
|
41
|
+
s.add_runtime_dependency "cf-uaa-lib", "~> 2.0.0"
|
42
42
|
s.add_runtime_dependency "highline"
|
43
43
|
s.add_runtime_dependency "eventmachine"
|
44
44
|
s.add_runtime_dependency "launchy"
|
data/lib/cli/common.rb
CHANGED
@@ -74,7 +74,7 @@ class CommonCli < Topic
|
|
74
74
|
|
75
75
|
def update_target_info(info = nil)
|
76
76
|
return if !info && Config.target_value(:prompts)
|
77
|
-
info ||=
|
77
|
+
info ||= @cli_class.uaa_info_client.server
|
78
78
|
Config.target_opts(prompts: info['prompts'])
|
79
79
|
Config.target_opts(token_endpoint: info['token_endpoint']) if info['token_endpoint']
|
80
80
|
info
|
@@ -136,7 +136,7 @@ class MiscCli < CommonCli
|
|
136
136
|
end
|
137
137
|
|
138
138
|
def bad_uaa_url(url, info)
|
139
|
-
info.replace(
|
139
|
+
info.replace(@cli_class.uaa_info_client(url.to_s).server)
|
140
140
|
nil
|
141
141
|
rescue Exception => e
|
142
142
|
"failed to access #{url}: #{e.message}"
|
data/lib/cli/info.rb
CHANGED
@@ -23,20 +23,24 @@ class InfoCli < CommonCli
|
|
23
23
|
def misc_request(&blk) Config.target ? handle_request(&blk) : gripe("target not set") end
|
24
24
|
|
25
25
|
desc "info", "get information about current target" do
|
26
|
-
pp misc_request { update_target_info(
|
26
|
+
pp misc_request { update_target_info(@cli_class.uaa_info_client.server) }
|
27
27
|
end
|
28
28
|
|
29
29
|
desc "me", "get authenticated user information" do
|
30
|
-
pp misc_request {
|
30
|
+
pp misc_request { @cli_class.uaa_info_client.whoami(auth_header) }
|
31
31
|
end
|
32
32
|
|
33
33
|
desc "prompts", "Show prompts for credentials required for implicit grant post" do
|
34
|
-
pp misc_request { update_target_info(
|
34
|
+
pp misc_request { update_target_info(@cli_class.uaa_info_client.server)['prompts'] }
|
35
35
|
end
|
36
36
|
|
37
37
|
desc "signing key", "get the UAA's token signing key(s)", :client, :secret do
|
38
|
-
info = misc_request {
|
39
|
-
|
38
|
+
info = misc_request {
|
39
|
+
@cli_class.uaa_info_client.validation_key(
|
40
|
+
(clientname if opts.key?(:client)),
|
41
|
+
(clientsecret if opts.key?(:client))
|
42
|
+
)
|
43
|
+
}
|
40
44
|
if info && info['value']
|
41
45
|
Config.target_opts(signing_alg: info['alg'], signing_key: info['value'])
|
42
46
|
end
|
@@ -44,11 +48,11 @@ class InfoCli < CommonCli
|
|
44
48
|
end
|
45
49
|
|
46
50
|
desc "stats", "Show UAA's current usage statistics", :client, :secret do
|
47
|
-
pp misc_request {
|
51
|
+
pp misc_request { @cli_class.uaa_info_client.varz(clientname, clientsecret) }
|
48
52
|
end
|
49
53
|
|
50
54
|
desc "password strength [password]", "calculate strength score of a password" do |pwd|
|
51
|
-
pp misc_request {
|
55
|
+
pp misc_request { @cli_class.uaa_info_client.password_strength(userpwd(pwd)) }
|
52
56
|
end
|
53
57
|
|
54
58
|
end
|
data/lib/cli/runner.rb
CHANGED
@@ -45,7 +45,14 @@ class Cli < BaseCli
|
|
45
45
|
[:trace, :debug].each do |k|
|
46
46
|
opts[k] = true if !opts.key?(k) && Config.target && Config.context && Config.value(k)
|
47
47
|
end
|
48
|
-
|
48
|
+
|
49
|
+
@uaa_logger = Util.default_logger(opts[:trace]? :trace: opts[:debug]? :debug: :warn, @output)
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.uaa_info_client(url = Config.target)
|
53
|
+
client = Info.new(url)
|
54
|
+
client.logger = @uaa_logger
|
55
|
+
client
|
49
56
|
end
|
50
57
|
|
51
58
|
end
|
data/lib/cli/token.rb
CHANGED
@@ -187,7 +187,7 @@ class TokenCli < CommonCli
|
|
187
187
|
return say "no token to decode" unless token && ttype
|
188
188
|
handle_request do
|
189
189
|
if opts[:client] && opts[:secret]
|
190
|
-
pp
|
190
|
+
pp @cli_class.uaa_info_client.decode_token(opts[:client], opts[:secret], token, ttype)
|
191
191
|
else
|
192
192
|
seckey = opts[:key] || (Config.target_value(:signing_key) if Config.target_value(:signing_alg) !~ /rsa$/i)
|
193
193
|
pubkey = opts[:key] || (Config.target_value(:signing_key) if Config.target_value(:signing_alg) =~ /rsa$/i)
|
data/lib/cli/version.rb
CHANGED
data/spec/group_spec.rb
CHANGED
@@ -118,6 +118,7 @@ describe GroupCli do
|
|
118
118
|
end
|
119
119
|
|
120
120
|
it "reads members as a reader" do
|
121
|
+
pending "real uaa can't search for groups by name with scim.me/readers" unless @stub_uaa
|
121
122
|
Cli.run("token owner get #{@test_client} -s #{@test_secret} #{@test_user}r -p #{@test_pwd}").should be
|
122
123
|
Cli.run("group get #{@test_group} -a memBers").should be
|
123
124
|
ids = Cli.output.string.scan(/.*value:\s+([^\s]+)/).flatten
|
@@ -125,7 +126,7 @@ describe GroupCli do
|
|
125
126
|
end
|
126
127
|
|
127
128
|
it "can't write members as a reader" do
|
128
|
-
pending "real uaa can't search for groups by name
|
129
|
+
pending "real uaa can't search for groups by name with scim.me/readers" unless @stub_uaa
|
129
130
|
Cli.run("token owner get #{@test_client} -s #{@test_secret} #{@test_user}r -p #{@test_pwd}").should be
|
130
131
|
Cli.run("member add #{@test_group} #{@test_user}z").should_not be
|
131
132
|
Cli.output.string.should include "access_denied"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cf-uaac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,11 +13,11 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2013-
|
16
|
+
date: 2013-08-07 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: bundler
|
20
|
-
requirement: !ruby/object:Gem::Requirement
|
20
|
+
requirement: &78561150 !ruby/object:Gem::Requirement
|
21
21
|
none: false
|
22
22
|
requirements:
|
23
23
|
- - ! '>='
|
@@ -25,15 +25,10 @@ dependencies:
|
|
25
25
|
version: '0'
|
26
26
|
type: :development
|
27
27
|
prerelease: false
|
28
|
-
version_requirements:
|
29
|
-
none: false
|
30
|
-
requirements:
|
31
|
-
- - ! '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
28
|
+
version_requirements: *78561150
|
34
29
|
- !ruby/object:Gem::Dependency
|
35
30
|
name: rake
|
36
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirement: &78560760 !ruby/object:Gem::Requirement
|
37
32
|
none: false
|
38
33
|
requirements:
|
39
34
|
- - ! '>='
|
@@ -41,15 +36,10 @@ dependencies:
|
|
41
36
|
version: '0'
|
42
37
|
type: :development
|
43
38
|
prerelease: false
|
44
|
-
version_requirements:
|
45
|
-
none: false
|
46
|
-
requirements:
|
47
|
-
- - ! '>='
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '0'
|
39
|
+
version_requirements: *78560760
|
50
40
|
- !ruby/object:Gem::Dependency
|
51
41
|
name: rspec
|
52
|
-
requirement: !ruby/object:Gem::Requirement
|
42
|
+
requirement: &78560280 !ruby/object:Gem::Requirement
|
53
43
|
none: false
|
54
44
|
requirements:
|
55
45
|
- - ! '>='
|
@@ -57,15 +47,10 @@ dependencies:
|
|
57
47
|
version: '0'
|
58
48
|
type: :development
|
59
49
|
prerelease: false
|
60
|
-
version_requirements:
|
61
|
-
none: false
|
62
|
-
requirements:
|
63
|
-
- - ! '>='
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: '0'
|
50
|
+
version_requirements: *78560280
|
66
51
|
- !ruby/object:Gem::Dependency
|
67
52
|
name: simplecov
|
68
|
-
requirement: !ruby/object:Gem::Requirement
|
53
|
+
requirement: &78521020 !ruby/object:Gem::Requirement
|
69
54
|
none: false
|
70
55
|
requirements:
|
71
56
|
- - ! '>='
|
@@ -73,15 +58,10 @@ dependencies:
|
|
73
58
|
version: '0'
|
74
59
|
type: :development
|
75
60
|
prerelease: false
|
76
|
-
version_requirements:
|
77
|
-
none: false
|
78
|
-
requirements:
|
79
|
-
- - ! '>='
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '0'
|
61
|
+
version_requirements: *78521020
|
82
62
|
- !ruby/object:Gem::Dependency
|
83
63
|
name: simplecov-rcov
|
84
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirement: &78520540 !ruby/object:Gem::Requirement
|
85
65
|
none: false
|
86
66
|
requirements:
|
87
67
|
- - ! '>='
|
@@ -89,15 +69,10 @@ dependencies:
|
|
89
69
|
version: '0'
|
90
70
|
type: :development
|
91
71
|
prerelease: false
|
92
|
-
version_requirements:
|
93
|
-
none: false
|
94
|
-
requirements:
|
95
|
-
- - ! '>='
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
version: '0'
|
72
|
+
version_requirements: *78520540
|
98
73
|
- !ruby/object:Gem::Dependency
|
99
74
|
name: ci_reporter
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
75
|
+
requirement: &78520100 !ruby/object:Gem::Requirement
|
101
76
|
none: false
|
102
77
|
requirements:
|
103
78
|
- - ! '>='
|
@@ -105,37 +80,21 @@ dependencies:
|
|
105
80
|
version: '0'
|
106
81
|
type: :development
|
107
82
|
prerelease: false
|
108
|
-
version_requirements:
|
109
|
-
none: false
|
110
|
-
requirements:
|
111
|
-
- - ! '>='
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
version: '0'
|
83
|
+
version_requirements: *78520100
|
114
84
|
- !ruby/object:Gem::Dependency
|
115
85
|
name: cf-uaa-lib
|
116
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirement: &78519640 !ruby/object:Gem::Requirement
|
117
87
|
none: false
|
118
88
|
requirements:
|
119
|
-
- -
|
89
|
+
- - ~>
|
120
90
|
- !ruby/object:Gem::Version
|
121
|
-
version:
|
122
|
-
- - <=
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 1.3.7
|
91
|
+
version: 2.0.0
|
125
92
|
type: :runtime
|
126
93
|
prerelease: false
|
127
|
-
version_requirements:
|
128
|
-
none: false
|
129
|
-
requirements:
|
130
|
-
- - ! '>='
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: 1.3.6
|
133
|
-
- - <=
|
134
|
-
- !ruby/object:Gem::Version
|
135
|
-
version: 1.3.7
|
94
|
+
version_requirements: *78519640
|
136
95
|
- !ruby/object:Gem::Dependency
|
137
96
|
name: highline
|
138
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
+
requirement: &78519290 !ruby/object:Gem::Requirement
|
139
98
|
none: false
|
140
99
|
requirements:
|
141
100
|
- - ! '>='
|
@@ -143,15 +102,10 @@ dependencies:
|
|
143
102
|
version: '0'
|
144
103
|
type: :runtime
|
145
104
|
prerelease: false
|
146
|
-
version_requirements:
|
147
|
-
none: false
|
148
|
-
requirements:
|
149
|
-
- - ! '>='
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '0'
|
105
|
+
version_requirements: *78519290
|
152
106
|
- !ruby/object:Gem::Dependency
|
153
107
|
name: eventmachine
|
154
|
-
requirement: !ruby/object:Gem::Requirement
|
108
|
+
requirement: &78518950 !ruby/object:Gem::Requirement
|
155
109
|
none: false
|
156
110
|
requirements:
|
157
111
|
- - ! '>='
|
@@ -159,15 +113,10 @@ dependencies:
|
|
159
113
|
version: '0'
|
160
114
|
type: :runtime
|
161
115
|
prerelease: false
|
162
|
-
version_requirements:
|
163
|
-
none: false
|
164
|
-
requirements:
|
165
|
-
- - ! '>='
|
166
|
-
- !ruby/object:Gem::Version
|
167
|
-
version: '0'
|
116
|
+
version_requirements: *78518950
|
168
117
|
- !ruby/object:Gem::Dependency
|
169
118
|
name: launchy
|
170
|
-
requirement: !ruby/object:Gem::Requirement
|
119
|
+
requirement: &78518610 !ruby/object:Gem::Requirement
|
171
120
|
none: false
|
172
121
|
requirements:
|
173
122
|
- - ! '>='
|
@@ -175,15 +124,10 @@ dependencies:
|
|
175
124
|
version: '0'
|
176
125
|
type: :runtime
|
177
126
|
prerelease: false
|
178
|
-
version_requirements:
|
179
|
-
none: false
|
180
|
-
requirements:
|
181
|
-
- - ! '>='
|
182
|
-
- !ruby/object:Gem::Version
|
183
|
-
version: '0'
|
127
|
+
version_requirements: *78518610
|
184
128
|
- !ruby/object:Gem::Dependency
|
185
129
|
name: em-http-request
|
186
|
-
requirement: !ruby/object:Gem::Requirement
|
130
|
+
requirement: &78518160 !ruby/object:Gem::Requirement
|
187
131
|
none: false
|
188
132
|
requirements:
|
189
133
|
- - ! '>='
|
@@ -191,15 +135,10 @@ dependencies:
|
|
191
135
|
version: 1.0.0.beta.3
|
192
136
|
type: :runtime
|
193
137
|
prerelease: false
|
194
|
-
version_requirements:
|
195
|
-
none: false
|
196
|
-
requirements:
|
197
|
-
- - ! '>='
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: 1.0.0.beta.3
|
138
|
+
version_requirements: *78518160
|
200
139
|
- !ruby/object:Gem::Dependency
|
201
140
|
name: json_pure
|
202
|
-
requirement: !ruby/object:Gem::Requirement
|
141
|
+
requirement: &78517240 !ruby/object:Gem::Requirement
|
203
142
|
none: false
|
204
143
|
requirements:
|
205
144
|
- - ! '>='
|
@@ -207,12 +146,7 @@ dependencies:
|
|
207
146
|
version: '0'
|
208
147
|
type: :runtime
|
209
148
|
prerelease: false
|
210
|
-
version_requirements:
|
211
|
-
none: false
|
212
|
-
requirements:
|
213
|
-
- - ! '>='
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '0'
|
149
|
+
version_requirements: *78517240
|
216
150
|
description: Client command line tools for interacting with the CloudFoundry User
|
217
151
|
Account and Authorization (UAA) server. The UAA is an OAuth2 Authorization Server
|
218
152
|
so it can be used by webapps and command line apps to obtain access tokens to act
|
@@ -282,21 +216,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
282
216
|
- - ! '>='
|
283
217
|
- !ruby/object:Gem::Version
|
284
218
|
version: '0'
|
285
|
-
segments:
|
286
|
-
- 0
|
287
|
-
hash: -1864592994044069234
|
288
219
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
289
220
|
none: false
|
290
221
|
requirements:
|
291
222
|
- - ! '>='
|
292
223
|
- !ruby/object:Gem::Version
|
293
224
|
version: '0'
|
294
|
-
segments:
|
295
|
-
- 0
|
296
|
-
hash: -1864592994044069234
|
297
225
|
requirements: []
|
298
226
|
rubyforge_project: cf-uaac
|
299
|
-
rubygems_version: 1.8.
|
227
|
+
rubygems_version: 1.8.10
|
300
228
|
signing_key:
|
301
229
|
specification_version: 3
|
302
230
|
summary: Command line interface for CloudFoundry UAA
|