cf-uaac 4.17.0 → 4.18.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
  SHA256:
3
- metadata.gz: 59c20844fe851fa5ee2b6a2cfaee7841a362044e647a98abe417616549bebee9
4
- data.tar.gz: be7dc84aadceee22588768f956c717cdc6073b534366d90b1778deb882bcfb6a
3
+ metadata.gz: b470c3d2590a9e00f4481b0d5ac9c611b38f6f14b3d506c3a2c3c4b6eeede7c3
4
+ data.tar.gz: f0838fe08f2a05f001a12d70c093b32f5c209986e271ab3fd0ed71ff12f58699
5
5
  SHA512:
6
- metadata.gz: 12a1f968a42a661efe5a9e695ce3ea2914c9f36f17343981594b4336b919d818d5d01d6b77ffe7d5a35eb2b78d3c5cbc21dda516cd6aa5fbfba4f7113a5457c7
7
- data.tar.gz: 8fc709d8d477a19969e60b2b550a75987dee6cdd97d4f5c1f0b8e57e826a56ed5ea909e9019c437fedc22336d85d622560179970ca3ca0da2221c72b0327f072
6
+ metadata.gz: 40db2b6725b381ad1b516ed64ccf567130e2a9760da0b9555973f7c4b6f0cd8a42fca39203048358117bd067e459492ff03d9978fc6fae994fc8b938730e4ba5
7
+ data.tar.gz: a7c3573b9409e08c22f9629de314c7b4b3f2e89c2359ebce22291bd21cdf7fe85fb471c2042c9ffe29d08fa89515a7affd652029da227bb30a96ed525d8e51cd
@@ -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
- client = scim_get_object(sr, :client, clientid(id), opts[:attrs])
69
- add_meta_fields_to_client(sr, client)
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
- meta = cr.get_client_meta(client['client_id'])
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 = 'Stalin'
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),
@@ -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.17.0
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.17.0
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-10-19 00:00:00.000000000 Z
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