cf-uaac 4.17.0 → 4.18.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/uaa/cli/client_reg.rb +19 -5
- data/lib/uaa/stub/scim.rb +2 -2
- data/spec/client_reg_spec.rb +12 -1
- data/version.txt +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b470c3d2590a9e00f4481b0d5ac9c611b38f6f14b3d506c3a2c3c4b6eeede7c3
|
|
4
|
+
data.tar.gz: f0838fe08f2a05f001a12d70c093b32f5c209986e271ab3fd0ed71ff12f58699
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 40db2b6725b381ad1b516ed64ccf567130e2a9760da0b9555973f7c4b6f0cd8a42fca39203048358117bd067e459492ff03d9978fc6fae994fc8b938730e4ba5
|
|
7
|
+
data.tar.gz: a7c3573b9409e08c22f9629de314c7b4b3f2e89c2359ebce22291bd21cdf7fe85fb471c2042c9ffe29d08fa89515a7affd652029da227bb30a96ed525d8e51cd
|
data/lib/uaa/cli/client_reg.rb
CHANGED
|
@@ -30,7 +30,8 @@ class ClientCli < CommonCli
|
|
|
30
30
|
:autoapprove => 'list',
|
|
31
31
|
:allowpublic => 'list',
|
|
32
32
|
:allowedproviders => 'list',
|
|
33
|
-
:'signup_redirect_url' => 'url'
|
|
33
|
+
:'signup_redirect_url' => 'url',
|
|
34
|
+
:required_user_groups => 'list'
|
|
34
35
|
}
|
|
35
36
|
CLIENT_SCHEMA.each { |k, v| define_option(k, "--#{k} <#{v}>") }
|
|
36
37
|
|
|
@@ -65,8 +66,18 @@ class ClientCli < CommonCli
|
|
|
65
66
|
|
|
66
67
|
desc "client get [id]", "Get specific client registration", :attrs do |id|
|
|
67
68
|
pp(scim_request do |sr|
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
if opts[:attrs] == nil
|
|
70
|
+
# return whole object, not search by filter
|
|
71
|
+
begin
|
|
72
|
+
client = sr.get(:client, clientid(id))
|
|
73
|
+
rescue NotFound
|
|
74
|
+
# to raise same error as scim_get_object
|
|
75
|
+
raise NotFound
|
|
76
|
+
end
|
|
77
|
+
else
|
|
78
|
+
client = scim_get_object(sr, :client, clientid(id), opts[:attrs])
|
|
79
|
+
end
|
|
80
|
+
add_meta_fields_to_client(sr, client, id)
|
|
70
81
|
end)
|
|
71
82
|
end
|
|
72
83
|
|
|
@@ -153,8 +164,11 @@ class ClientCli < CommonCli
|
|
|
153
164
|
add_meta_fields_to_client(cr, client)
|
|
154
165
|
end
|
|
155
166
|
|
|
156
|
-
def add_meta_fields_to_client(cr, client)
|
|
157
|
-
|
|
167
|
+
def add_meta_fields_to_client(cr, client, id = nil)
|
|
168
|
+
if id == nil
|
|
169
|
+
id = client['client_id']
|
|
170
|
+
end
|
|
171
|
+
meta = cr.get_client_meta(id)
|
|
158
172
|
client.merge({:created_by => meta['createdby']})
|
|
159
173
|
end
|
|
160
174
|
end
|
data/lib/uaa/stub/scim.rb
CHANGED
|
@@ -27,7 +27,7 @@ class StubScim
|
|
|
27
27
|
|
|
28
28
|
private
|
|
29
29
|
|
|
30
|
-
CREATOR = '
|
|
30
|
+
CREATOR = 'Freedom'
|
|
31
31
|
|
|
32
32
|
# attribute types. Anything not listed is case-ignore string
|
|
33
33
|
HIDDEN_ATTRS = [:rtype, :password, :client_secret].to_set
|
|
@@ -66,7 +66,7 @@ class StubScim
|
|
|
66
66
|
client: [*COMMON_ATTRS, :client_id, :name, :client_secret, :authorities,
|
|
67
67
|
:authorized_grant_types, :scope, :autoapprove,
|
|
68
68
|
:access_token_validity, :refresh_token_validity, :redirect_uri, :allowedproviders,
|
|
69
|
-
:'signup_redirect_url'].to_set,
|
|
69
|
+
:'signup_redirect_url', :required_user_groups].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),
|
|
72
72
|
client: Set.new(LEGAL_ATTRS[:client] - HIDDEN_ATTRS),
|
data/spec/client_reg_spec.rb
CHANGED
|
@@ -86,16 +86,27 @@ describe ClientCli do
|
|
|
86
86
|
Cli.run("client jwt delete #{@test_client} ").should be
|
|
87
87
|
end
|
|
88
88
|
|
|
89
|
+
it "fails to get client" do
|
|
90
|
+
Cli.run("token client get #{@test_client} -s #{@test_secret}").should be
|
|
91
|
+
Cli.run("context #{@admin_client}").should be
|
|
92
|
+
Cli.run("client get #{@test_client}").should be
|
|
93
|
+
Cli.run("client get #{@test_client} -a id").should be
|
|
94
|
+
Cli.output.string.should include 'id'
|
|
95
|
+
Cli.run("client get not-existing").should be_nil
|
|
96
|
+
Cli.output.string.should include 'NotFound'
|
|
97
|
+
end
|
|
98
|
+
|
|
89
99
|
context 'as updated client' do
|
|
90
100
|
|
|
91
101
|
before :all do
|
|
92
102
|
# update the test client as the admin client
|
|
93
103
|
Cli.run("token client get #{@test_client} -s #{@test_secret}").should be
|
|
94
104
|
Cli.run("context #{@admin_client}").should be
|
|
95
|
-
Cli.run("client update #{@test_client} --authorities scim.write,scim.read").should be
|
|
105
|
+
Cli.run("client update #{@test_client} --authorities scim.write,scim.read --required_user_groups openid").should be
|
|
96
106
|
Cli.output.string.should include 'created_by'
|
|
97
107
|
Cli.run("client get #{@test_client}").should be
|
|
98
108
|
Cli.output.string.should include 'scim.read', 'scim.write'
|
|
109
|
+
Cli.output.string.should include 'required_user_groups'
|
|
99
110
|
end
|
|
100
111
|
|
|
101
112
|
it 'fails to create a user account with old token' do
|
data/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.
|
|
1
|
+
4.18.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.18.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: 2023-
|
|
15
|
+
date: 2023-11-21 00:00:00.000000000 Z
|
|
16
16
|
dependencies:
|
|
17
17
|
- !ruby/object:Gem::Dependency
|
|
18
18
|
name: cf-uaa-lib
|