cf-uaac 4.4.0 → 4.5.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/README.md +2 -2
- data/cf-uaac.gemspec +1 -1
- data/lib/uaa/cli/base.rb +2 -1
- data/lib/uaa/cli/client_reg.rb +4 -0
- data/lib/uaa/cli/common.rb +5 -2
- data/lib/uaa/cli/info.rb +0 -4
- data/lib/uaa/cli/token.rb +3 -1
- data/lib/uaa/cli/user.rb +2 -2
- data/lib/uaa/stub/scim.rb +1 -1
- data/spec/client_reg_spec.rb +1 -1
- data/spec/common_spec.rb +1 -1
- data/spec/info_spec.rb +0 -5
- data/version.txt +1 -1
- metadata +4 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 36488b9610f3cc86a06d229903f29beda0e6394d533894390199e89851e225de
|
|
4
|
+
data.tar.gz: 00b0ea7818b49c8871e78ebb1286982dcd569ac33decd42a96d9fa10cec0aea7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 349d0003eb1dba666f54fadc9017b644269d15cf89edb83cf210e22c5fac38b4faf70e0b12b07afeec378572c158ea8db77cb7242f998ad73d1258b75d285c4a
|
|
7
|
+
data.tar.gz: b669538c9b836c36ac8f493c3e0539303c0269c08fa3a6704e7f4f26140333016ec748e6e594b54932f04f993ecfaf259800c294e1f727c00b249dc060ff1476
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CloudFoundry UAA Command Line Client
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+

|
|
4
4
|
[](https://rubygems.org/gems/cf-uaac)
|
|
5
5
|
|
|
6
6
|
## Installation
|
|
@@ -67,4 +67,4 @@ export UAA_CLIENT_ID="admin"
|
|
|
67
67
|
export UAA_CLIENT_SECRET="adminsecret"
|
|
68
68
|
export UAA_CLIENT_TARGET="http://localhost:8080/uaa"
|
|
69
69
|
bundle exec rake test
|
|
70
|
-
```
|
|
70
|
+
```
|
data/cf-uaac.gemspec
CHANGED
|
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
|
|
|
31
31
|
s.require_paths = ['lib']
|
|
32
32
|
|
|
33
33
|
# dependencies
|
|
34
|
-
s.add_runtime_dependency 'cf-uaa-lib', '~>
|
|
34
|
+
s.add_runtime_dependency 'cf-uaa-lib', '~> 4.0'
|
|
35
35
|
s.add_development_dependency 'rake', '>= 10.3.1', '~> 13.0'
|
|
36
36
|
s.add_development_dependency 'rspec', '>= 2.14.1', '~> 3.9'
|
|
37
37
|
s.add_development_dependency 'simplecov', '~> 0.21.2'
|
data/lib/uaa/cli/base.rb
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
require 'highline'
|
|
15
15
|
require 'optparse'
|
|
16
16
|
require 'json/pure'
|
|
17
|
+
require 'io/console'
|
|
17
18
|
|
|
18
19
|
module CF; module UAA end end
|
|
19
20
|
|
|
@@ -65,7 +66,7 @@ class Topic
|
|
|
65
66
|
|
|
66
67
|
def terminal_columns
|
|
67
68
|
return @terminal_columns ||= 0 if @terminal_columns || !@output.tty?
|
|
68
|
-
cols =
|
|
69
|
+
cols = IO.console.winsize.last rescue 0 if $stdin.tty?
|
|
69
70
|
@terminal_columns = !cols || cols < 40 ? 0 : cols
|
|
70
71
|
end
|
|
71
72
|
|
data/lib/uaa/cli/client_reg.rb
CHANGED
|
@@ -28,6 +28,7 @@ class ClientCli < CommonCli
|
|
|
28
28
|
:refresh_token_validity => 'seconds',
|
|
29
29
|
:redirect_uri => 'list',
|
|
30
30
|
:autoapprove => 'list',
|
|
31
|
+
:allowedproviders => 'list',
|
|
31
32
|
:'signup_redirect_url' => 'url'
|
|
32
33
|
}
|
|
33
34
|
CLIENT_SCHEMA.each { |k, v| define_option(k, "--#{k} <#{v}>") }
|
|
@@ -51,6 +52,9 @@ class ClientCli < CommonCli
|
|
|
51
52
|
info[k] = Util.arglist(info[k]) if p == 'list'
|
|
52
53
|
info.delete(k) unless info[k]
|
|
53
54
|
end
|
|
55
|
+
if opts.key?(k) && k == :allowedproviders && (info[k].join('') == 'all' || info[k].join('') == 'null' || info[k].join('') == 'nil')
|
|
56
|
+
info[:allowedproviders] = nil
|
|
57
|
+
end
|
|
54
58
|
end
|
|
55
59
|
end
|
|
56
60
|
|
data/lib/uaa/cli/common.rb
CHANGED
|
@@ -31,7 +31,7 @@ class CommonCli < Topic
|
|
|
31
31
|
|
|
32
32
|
def username(name); name || ask("User name") end
|
|
33
33
|
def userpwd(pwd = opts[:password]); pwd || ask_pwd("Password") end
|
|
34
|
-
def passcode(passcode = opts[:passcode]); passcode || ask("Passcode (from #{Config.target}/passcode)") end
|
|
34
|
+
def passcode(passcode = opts[:passcode]); passcode || ask("Passcode ( from #{Config.target}/passcode )") end
|
|
35
35
|
def clientid(id = opts[:client]); id || ask("Client ID") end
|
|
36
36
|
def clientsecret(secret = opts[:secret]); secret || ask_pwd("Client secret") end
|
|
37
37
|
def clientname(name = opts[:name]); name end
|
|
@@ -186,7 +186,8 @@ class MiscCli < CommonCli
|
|
|
186
186
|
define_option :ca_cert, "--ca-cert [file]", "use the given CA certificate to validate the target's SSL certificate"
|
|
187
187
|
define_option :skip_ssl_validation, "--skip-ssl-validation", "do not attempt to validate ssl certificate"
|
|
188
188
|
define_option :force, "--[no-]force", "-f", "set even if target does not respond"
|
|
189
|
-
|
|
189
|
+
define_option :basic_auth, "--[no-]basic_auth", "set if you need basic or oauth2 (url encoded) client authentication"
|
|
190
|
+
desc "target [uaa_url]", "Display current or set new target", :force, :ca_cert, :skip_ssl_validation, :basic_auth do |uaa_url|
|
|
190
191
|
msg, info = nil, {}
|
|
191
192
|
if uaa_url
|
|
192
193
|
if uaa_url.to_i.to_s == uaa_url
|
|
@@ -204,6 +205,8 @@ class MiscCli < CommonCli
|
|
|
204
205
|
Config.target = url # we now have a canonical url set to https if possible
|
|
205
206
|
Config.target_opts(skip_ssl_validation: true) if opts[:skip_ssl_validation]
|
|
206
207
|
Config.target_opts(ca_cert: opts[:ca_cert])
|
|
208
|
+
Config.target_opts(basic_auth: true) if opts[:basic_auth] == true
|
|
209
|
+
Config.target_opts(basic_auth: false) if opts[:basic_auth] == false
|
|
207
210
|
update_target_info(info) if info[:prompts]
|
|
208
211
|
end
|
|
209
212
|
return say "no target set" unless Config.target
|
data/lib/uaa/cli/info.rb
CHANGED
|
@@ -47,10 +47,6 @@ class InfoCli < CommonCli
|
|
|
47
47
|
pp info
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
desc "stats", "Show UAA's current usage statistics", :client, :secret do
|
|
51
|
-
pp misc_request { @cli_class.uaa_info_client.varz(clientid, clientsecret) }
|
|
52
|
-
end
|
|
53
|
-
|
|
54
50
|
desc "password strength [password]", "calculate strength score of a password" do |pwd|
|
|
55
51
|
pp misc_request { @cli_class.uaa_info_client.password_strength(userpwd(pwd)) }
|
|
56
52
|
end
|
data/lib/uaa/cli/token.rb
CHANGED
|
@@ -25,6 +25,7 @@ class TokenCatcher < Stub::Base
|
|
|
25
25
|
secret = server.info.delete(:client_secret)
|
|
26
26
|
ti = TokenIssuer.new(Config.target, server.info.delete(:client_id), secret,
|
|
27
27
|
{ token_target: Config.target_value(:token_target),
|
|
28
|
+
basic_auth: Config.target_value(:basic_auth),
|
|
28
29
|
skip_ssl_validation: Config.target_value(:skip_ssl_validation)})
|
|
29
30
|
tkn = secret ? ti.authcode_grant(server.info.delete(:uri), data) :
|
|
30
31
|
ti.implicit_grant(server.info.delete(:uri), data)
|
|
@@ -88,8 +89,9 @@ class TokenCli < CommonCli
|
|
|
88
89
|
|
|
89
90
|
def issuer_request(client_id, secret = nil)
|
|
90
91
|
update_target_info
|
|
91
|
-
yield TokenIssuer.new(Config.target.to_s,
|
|
92
|
+
yield TokenIssuer.new(Config.target.to_s, client_id, secret,
|
|
92
93
|
{ token_target: Config.target_value(:token_endpoint),
|
|
94
|
+
basic_auth: Config.target_value(:basic_auth),
|
|
93
95
|
skip_ssl_validation: Config.target_value(:skip_ssl_validation),
|
|
94
96
|
ssl_ca_file: Config.target_value(:ca_cert) })
|
|
95
97
|
rescue Exception => e
|
data/lib/uaa/cli/user.rb
CHANGED
|
@@ -19,12 +19,12 @@ class UserCli < CommonCli
|
|
|
19
19
|
|
|
20
20
|
topic 'User Accounts', 'account'
|
|
21
21
|
|
|
22
|
+
define_option :origin, '--origin <name>, select user to update by identity provider origin. Defaults to UAA'
|
|
22
23
|
define_option :givenName, '--given_name <name>'
|
|
23
24
|
define_option :familyName, '--family_name <name>'
|
|
24
25
|
define_option :emails, '--emails <addresses>'
|
|
25
26
|
define_option :phoneNumbers, '--phones <phone_numbers>'
|
|
26
|
-
|
|
27
|
-
USER_INFO_OPTS = [:givenName, :familyName, :emails, :phoneNumbers, :origin]
|
|
27
|
+
USER_INFO_OPTS = [:origin, :givenName, :familyName, :emails, :phoneNumbers]
|
|
28
28
|
|
|
29
29
|
def user_opts(info = {})
|
|
30
30
|
[:emails, :phoneNumbers].each do |o|
|
data/lib/uaa/stub/scim.rb
CHANGED
|
@@ -65,7 +65,7 @@ class StubScim
|
|
|
65
65
|
:authorizations, :groups].to_set,
|
|
66
66
|
client: [*COMMON_ATTRS, :client_id, :name, :client_secret, :authorities,
|
|
67
67
|
:authorized_grant_types, :scope, :autoapprove,
|
|
68
|
-
:access_token_validity, :refresh_token_validity, :redirect_uri,
|
|
68
|
+
:access_token_validity, :refresh_token_validity, :redirect_uri, :allowedproviders,
|
|
69
69
|
:'signup_redirect_url'].to_set,
|
|
70
70
|
group: [*COMMON_ATTRS, :displayname, :members, :writers, :readers, :external_groups].to_set }
|
|
71
71
|
VISIBLE_ATTRS = {user: Set.new(LEGAL_ATTRS[:user] - HIDDEN_ATTRS),
|
data/spec/client_reg_spec.rb
CHANGED
|
@@ -59,7 +59,7 @@ describe ClientCli do
|
|
|
59
59
|
|
|
60
60
|
it 'does not wrap the output of the access token in the terminal' do
|
|
61
61
|
allow(@output).to receive(:tty?).and_return(true)
|
|
62
|
-
allow(
|
|
62
|
+
allow(IO.console).to receive(:winsize).and_return([40, 80])
|
|
63
63
|
Cli.run('context').should be
|
|
64
64
|
Cli.output.string.should match /access_token: \S+?\s+token_type/m
|
|
65
65
|
end
|
data/spec/common_spec.rb
CHANGED
|
@@ -44,7 +44,7 @@ describe CommonCli do
|
|
|
44
44
|
|
|
45
45
|
it "displays user help with -h has --origin option" do
|
|
46
46
|
Cli.run("user -h")
|
|
47
|
-
Cli.output.string.should include("--origin <identity provider origin
|
|
47
|
+
Cli.output.string.should include("--origin <name>, select user to update by identity provider origin. Defaults to UAA")
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
it "displays group help with -h has --origin option" do
|
data/spec/info_spec.rb
CHANGED
|
@@ -53,11 +53,6 @@ describe InfoCli do
|
|
|
53
53
|
Cli.output.string.should include "score", "requiredScore"
|
|
54
54
|
end
|
|
55
55
|
|
|
56
|
-
it "gets the server stats" do
|
|
57
|
-
pending "no UAA_VARZ_SECRET environment variable set" unless @varz_secret
|
|
58
|
-
Cli.run("stats -c varz -s #{@varz_secret}").should be
|
|
59
|
-
Cli.output.string.should include 'type: UAA', 'mem:', 'version:'
|
|
60
|
-
end
|
|
61
56
|
|
|
62
57
|
it "sets multiple targets to be fully qualified in config and targets output" do
|
|
63
58
|
Config.load("")
|
data/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.
|
|
1
|
+
4.5.0
|
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.
|
|
4
|
+
version: 4.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dave Syer
|
|
@@ -12,7 +12,7 @@ authors:
|
|
|
12
12
|
autorequire:
|
|
13
13
|
bindir: bin
|
|
14
14
|
cert_chain: []
|
|
15
|
-
date: 2022-01-
|
|
15
|
+
date: 2022-01-21 00:00:00.000000000 Z
|
|
16
16
|
dependencies:
|
|
17
17
|
- !ruby/object:Gem::Dependency
|
|
18
18
|
name: cf-uaa-lib
|
|
@@ -20,20 +20,14 @@ dependencies:
|
|
|
20
20
|
requirements:
|
|
21
21
|
- - "~>"
|
|
22
22
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: '
|
|
24
|
-
- - ">"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: 3.14.3
|
|
23
|
+
version: '4.0'
|
|
27
24
|
type: :runtime
|
|
28
25
|
prerelease: false
|
|
29
26
|
version_requirements: !ruby/object:Gem::Requirement
|
|
30
27
|
requirements:
|
|
31
28
|
- - "~>"
|
|
32
29
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
34
|
-
- - ">"
|
|
35
|
-
- !ruby/object:Gem::Version
|
|
36
|
-
version: 3.14.3
|
|
30
|
+
version: '4.0'
|
|
37
31
|
- !ruby/object:Gem::Dependency
|
|
38
32
|
name: rake
|
|
39
33
|
requirement: !ruby/object:Gem::Requirement
|