cf-uaa-lib 4.0.6 → 4.0.8

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: c0e403a09ef6239150df20123d5596e3990054b67f718d1c08ed4a157475c14b
4
- data.tar.gz: 2707255f7d895a3c1a56f1cb67af4200eeb16bf9311dfe00accaf23645c8afc4
3
+ metadata.gz: c1d85a9e186e6f61fe473527aac3465589b12f415d30b22d05f99731c4d604bf
4
+ data.tar.gz: 71a5e80bebadaa224e51f39ef59ccdb3bf263bfc375f3d9624d5c888b79c1094
5
5
  SHA512:
6
- metadata.gz: 94eebb8323b3f10f4afffa26c87eb2a36725b20c3d7926b0ca17aa6edab9e389cdb10a2e2d117a0e9152d8d97a75378c5785c3433ec673c44b82747398966873
7
- data.tar.gz: 6b4a915f3adcc507943830d0b0ed438931fa29780c09b14bf9e2c3f0a48cd66e4d53c775bbfa489bb725536a12fa6eb64707090014d508974871cda0b284e59b
6
+ metadata.gz: 1d12f9f7255e3e7728bbcbccf89593d3e3e13edc7547b9b420a985442903d91c29f708d79593b536e02619332060a18c74198ff530dac264d1048d923412bf08
7
+ data.tar.gz: 35e4042dccf44ff0e1dd36fd1ef639759648d226e09fe175c7fbe477d75ac601b9fc74c2c8e6a3665a1cb9ea4288c532c48f98e53b5018714f33a13113643ae4
@@ -12,7 +12,7 @@ jobs:
12
12
  runs-on: ubuntu-latest
13
13
  strategy:
14
14
  matrix:
15
- ruby-version: ['2.5', '2.7', '3.0', '3.1', '3.2']
15
+ ruby-version: ['2.5', '2.7', '3.1', '3.2', '3.3', '3.4']
16
16
 
17
17
  steps:
18
18
  - uses: actions/checkout@v4
data/Gemfile CHANGED
@@ -11,7 +11,7 @@
11
11
  # subcomponent's license, as noted in the LICENSE file.
12
12
  #++
13
13
 
14
- source "http://rubygems.org"
14
+ source "https://rubygems.org"
15
15
 
16
16
  # Specify your gem's dependencies in uaa.gemspec
17
17
  gemspec
data/LICENSE CHANGED
@@ -227,7 +227,6 @@ SECTION 1: BSD-STYLE, MIT-STYLE, OR SIMILAR STYLE LICENSES
227
227
  >>> daemons-1.1.4
228
228
  >>> diff-lcs-1.1.3
229
229
  >>> machinist-1.0.6
230
- >>> multi_json-1.0.4
231
230
  >>> rack-protection-1.1.4
232
231
  >>> rack-test-0.5.7
233
232
  >>> rails-3.0.3
@@ -383,7 +382,6 @@ SECTION 1: BSD-STYLE, MIT-STYLE, OR SIMILAR STYLE LICENSES
383
382
  >>> mime-1.2.4
384
383
  >>> mkdirp-0.0.7
385
384
  >>> mocha-0.9.12
386
- >>> multi_json-1.0.4
387
385
  >>> mysql2-0.2.7
388
386
  >>> nats-0.3.9
389
387
  >>> nats-0.4.10
@@ -529,7 +527,6 @@ SECTION 6: Ruby Clause-6
529
527
  >>> highline-1.6.1
530
528
  >>> httpclient-2.1.6.1
531
529
  >>> json-1.4.6
532
- >>> json_pure-1.5.1
533
530
  >>> logging-1.5.0
534
531
  >>> main-4.4.0
535
532
  >>> mime-types-1.16
@@ -724,50 +721,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
724
721
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
725
722
 
726
723
 
727
- >>> multi_json-1.0.4
728
-
729
- Copyright (c) 2010 Michael Bleigh, Josh Kalderimis, Erik Michaels-Ober, and Intridea, Inc.
730
-
731
- Permission is hereby granted, free of charge, to any person obtaining
732
- a copy of this software and associated documentation files (the
733
- "Software"), to deal in the Software without restriction, including
734
- without limitation the rights to use, copy, modify, merge, publish,
735
- distribute, sublicense, and/or sell copies of the Software, and to
736
- permit persons to whom the Software is furnished to do so, subject to
737
- the following conditions:
738
-
739
- The above copyright notice and this permission notice shall be
740
- included in all copies or substantial portions of the Software.
741
-
742
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
743
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
744
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
745
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
746
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
747
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
748
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
749
- Copyright (c) 2010 Michael Bleigh, Josh Kalderimis, Erik Michaels-Ober, and Intridea, Inc.
750
-
751
- Permission is hereby granted, free of charge, to any person obtaining
752
- a copy of this software and associated documentation files (the
753
- "Software"), to deal in the Software without restriction, including
754
- without limitation the rights to use, copy, modify, merge, publish,
755
- distribute, sublicense, and/or sell copies of the Software, and to
756
- permit persons to whom the Software is furnished to do so, subject to
757
- the following conditions:
758
-
759
- The above copyright notice and this permission notice shall be
760
- included in all copies or substantial portions of the Software.
761
-
762
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
763
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
764
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
765
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
766
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
767
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
768
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
769
-
770
-
771
724
  >>> rack-protection-1.1.4
772
725
 
773
726
  Copyright (c) 2011 Konstantin Haase
@@ -4336,50 +4289,6 @@ The above copyright notice and this permission notice shall be included in all c
4336
4289
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4337
4290
 
4338
4291
 
4339
- >>> multi_json-1.0.4
4340
-
4341
- Copyright (c) 2010 Michael Bleigh, Josh Kalderimis, Erik Michaels-Ober, and Intridea, Inc.
4342
-
4343
- Permission is hereby granted, free of charge, to any person obtaining
4344
- a copy of this software and associated documentation files (the
4345
- "Software"), to deal in the Software without restriction, including
4346
- without limitation the rights to use, copy, modify, merge, publish,
4347
- distribute, sublicense, and/or sell copies of the Software, and to
4348
- permit persons to whom the Software is furnished to do so, subject to
4349
- the following conditions:
4350
-
4351
- The above copyright notice and this permission notice shall be
4352
- included in all copies or substantial portions of the Software.
4353
-
4354
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4355
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4356
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4357
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
4358
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
4359
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
4360
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4361
- Copyright (c) 2010 Michael Bleigh, Josh Kalderimis, Erik Michaels-Ober, and Intridea, Inc.
4362
-
4363
- Permission is hereby granted, free of charge, to any person obtaining
4364
- a copy of this software and associated documentation files (the
4365
- "Software"), to deal in the Software without restriction, including
4366
- without limitation the rights to use, copy, modify, merge, publish,
4367
- distribute, sublicense, and/or sell copies of the Software, and to
4368
- permit persons to whom the Software is furnished to do so, subject to
4369
- the following conditions:
4370
-
4371
- The above copyright notice and this permission notice shall be
4372
- included in all copies or substantial portions of the Software.
4373
-
4374
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4375
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4376
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4377
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
4378
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
4379
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
4380
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4381
-
4382
-
4383
4292
  >>> mysql2-0.2.7
4384
4293
 
4385
4294
  Copyright (c) 2010 Brian Lopez - http://github.com/brianmario
@@ -9716,78 +9625,6 @@ You can redistribute it and/or modify it under either the terms of the GPL
9716
9625
  PURPOSE.
9717
9626
 
9718
9627
 
9719
- >>> json_pure-1.5.1
9720
-
9721
- [PLEASE NOTE: VMWARE, INC. ELECTS TO USE AND DISTRIBUTE THIS COMPONENT UNDER THE TERMS OF THE RUBY LICENSE. THE ORIGINAL LICENSE TERMS ARE REPRODUCED BELOW ONLY AS A REFERENCE.]
9722
-
9723
- == Author
9724
-
9725
- Florian Frank <mailto:flori@ping.de>
9726
-
9727
- == License
9728
-
9729
- Ruby License, see the COPYING file included in the source distribution. The
9730
- Ruby License includes the GNU General Public License (GPL), Version 2, so see
9731
- the file GPL as well.
9732
-
9733
- Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.co.jp>.
9734
- You can redistribute it and/or modify it under either the terms of the GPL
9735
- (see GPL file), or the conditions below:
9736
-
9737
- 1. You may make and give away verbatim copies of the source form of the
9738
- software without restriction, provided that you duplicate all of the
9739
- original copyright notices and associated disclaimers.
9740
-
9741
- 2. You may modify your copy of the software in any way, provided that
9742
- you do at least ONE of the following:
9743
-
9744
- a) place your modifications in the Public Domain or otherwise
9745
- make them Freely Available, such as by posting said
9746
- modifications to Usenet or an equivalent medium, or by allowing
9747
- the author to include your modifications in the software.
9748
-
9749
- b) use the modified software only within your corporation or
9750
- organization.
9751
-
9752
- c) rename any non-standard executables so the names do not conflict
9753
- with standard executables, which must also be provided.
9754
-
9755
- d) make other distribution arrangements with the author.
9756
-
9757
- 3. You may distribute the software in object code or executable
9758
- form, provided that you do at least ONE of the following:
9759
-
9760
- a) distribute the executables and library files of the software,
9761
- together with instructions (in the manual page or equivalent)
9762
- on where to get the original distribution.
9763
-
9764
- b) accompany the distribution with the machine-readable source of
9765
- the software.
9766
-
9767
- c) give non-standard executables non-standard names, with
9768
- instructions on where to get the original software distribution.
9769
-
9770
- d) make other distribution arrangements with the author.
9771
-
9772
- 4. You may modify and include the part of the software into any other
9773
- software (possibly commercial). But some files in the distribution
9774
- are not written by the author, so that they are not under this terms.
9775
-
9776
- They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
9777
- files under the ./missing directory. See each file for the copying
9778
- condition.
9779
-
9780
- 5. The scripts and library files supplied as input to or produced as
9781
- output from the software do not automatically fall under the
9782
- copyright of the software, but belong to whomever generated them,
9783
- and may be sold commercially, and may be aggregated with this
9784
- software.
9785
-
9786
- 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
9787
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
9788
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
9789
- PURPOSE.
9790
-
9791
9628
 
9792
9629
  >>> logging-1.5.0
9793
9630
 
data/cf-uaa-lib.gemspec CHANGED
@@ -31,8 +31,9 @@ Gem::Specification.new do |s|
31
31
  s.require_paths = ['lib']
32
32
 
33
33
  # dependencies
34
- s.add_dependency 'multi_json', '>= 1.12.1', '< 1.16'
35
- s.add_dependency 'json_pure', '~>2.7'
34
+ s.add_dependency 'json', '~>2.7'
35
+ s.add_dependency 'mutex_m'
36
+ s.add_dependency 'base64'
36
37
  s.add_dependency 'httpclient', '~> 2.8', '>= 2.8.2.4'
37
38
  s.add_dependency 'addressable', '~> 2.8', '>= 2.8.0'
38
39
 
@@ -42,7 +43,5 @@ Gem::Specification.new do |s|
42
43
  s.add_development_dependency 'simplecov', '~> 0.22.0'
43
44
  s.add_development_dependency 'simplecov-rcov', '~> 0.3.0'
44
45
  s.add_development_dependency 'ci_reporter', '>= 1.9.2', '~> 2.0'
45
- s.add_development_dependency 'json_pure', '~>2.7'
46
46
  s.add_development_dependency 'ci_reporter_rspec', '~> 1.0'
47
-
48
47
  end
data/lib/uaa/http.rb CHANGED
@@ -11,6 +11,7 @@
11
11
  # subcomponent's license, as noted in the LICENSE file.
12
12
  #++
13
13
 
14
+ require 'mutex_m'
14
15
  require 'base64'
15
16
  require 'uaa/util'
16
17
  require 'httpclient'
@@ -83,6 +83,9 @@ class TokenIssuer
83
83
  headers['X-CF-ENCODED-CREDENTIALS'] = 'true'
84
84
  headers['authorization'] = Http.basic_auth(CGI.escape(@client_id), CGI.escape(@client_secret))
85
85
  end
86
+ elsif @client_auth_method == 'client_secret_post' && @client_secret && @client_id
87
+ params[:client_id] = @client_id
88
+ params[:client_secret] = @client_secret
86
89
  elsif @client_id && params[:code_verifier]
87
90
  params[:client_id] = @client_id
88
91
  else
data/lib/uaa/util.rb CHANGED
@@ -11,8 +11,8 @@
11
11
  # subcomponent's license, as noted in the LICENSE file.
12
12
  #++
13
13
 
14
- require 'json/pure'
15
- require "base64"
14
+ require 'json'
15
+ require 'base64'
16
16
  require 'logger'
17
17
  require 'uri'
18
18
 
data/lib/uaa/version.rb CHANGED
@@ -14,6 +14,6 @@
14
14
  # Cloud Foundry namespace
15
15
  module CF
16
16
  module UAA
17
- VERSION = '4.0.6'
17
+ VERSION = '4.0.8'
18
18
  end
19
19
  end
@@ -310,6 +310,41 @@ describe TokenIssuer do
310
310
 
311
311
  end
312
312
 
313
+
314
+ context 'with basic_auth using auth code grant' do
315
+ let(:options) { {basic_auth: true} }
316
+
317
+ it 'basic_auth with authorization code' do
318
+ subject.set_request_handler do |url, method, body, headers|
319
+ headers['content-type'].should =~ /application\/x-www-form-urlencoded/
320
+ headers['accept'].should =~ /application\/json/
321
+ headers['X-CF-ENCODED-CREDENTIALS'].should_not
322
+ headers['authorization'].should == 'Basic dGVzdF9jbGllbnQ6dGVzdCFzZWNyZXQ='
323
+ params = Util.decode_form(body)
324
+ params['code_verifier'].should_not
325
+ params['grant_type'].should == 'authorization_code'
326
+ url.should match 'http://test.uaa.target/oauth/token'
327
+ method.should == :post
328
+ reply = {access_token: 'test_access_token', token_type: 'BEARER',
329
+ scope: 'openid', expires_in: 98765}
330
+ [200, Util.json(reply), {'content-type' => 'application/json'}]
331
+ end
332
+ cburi = 'http://call.back/uri_path'
333
+ params = Util.decode_form(cburi[1])
334
+ params['code_challenge'].should_not
335
+ params['code_challenge_method'].should_not
336
+ redir_uri = subject.authcode_uri(cburi)
337
+ state = /state=([^&]+)/.match(redir_uri)[1]
338
+ reply_query = "state=#{state}&code=kz8%2F5gQZ2pc%3D"
339
+ token = subject.authcode_grant(redir_uri, reply_query)
340
+ token.should be_an_instance_of TokenInfo
341
+ token.info['access_token'].should == 'test_access_token'
342
+ token.info['token_type'].should =~ /^bearer$/i
343
+ token.info['scope'].should == 'openid'
344
+ token.info['expires_in'].should == 98765
345
+ end
346
+ end
347
+
313
348
  context 'pkce with own code verifier' do
314
349
  let(:options) { {basic_auth: false, code_verifier: 'umoq1e_4XMYXvfHlaO9mSlSI17OKfxnwfR5ZD-oYreFxyn8yQZ-ZHPZfUZ4n3WjY_tkOB_MAisSy4ddqsa6aoTU5ZOcX4ps3de933PczYlC8pZpKL8EQWaDZOnpOyB2W'} }
315
350
 
@@ -324,6 +359,38 @@ describe TokenIssuer do
324
359
  code_verifier.should == options[:code_verifier]
325
360
  code_challenge.should == 'TAnM2AKGgiQKOC16cRpMdF_55qwmz3B333cq6T18z0s'
326
361
  end
362
+
363
+ let(:client_secret) { nil }
364
+ it 'public token request with pkce without client_secret' do
365
+ subject.set_request_handler do |url, method, body, headers|
366
+ headers['content-type'].should =~ /application\/x-www-form-urlencoded/
367
+ headers['accept'].should =~ /application\/json/
368
+ headers['X-CF-ENCODED-CREDENTIALS'].should_not
369
+ headers['authorization'].should_not
370
+ params = Util.decode_form(body)
371
+ params['code_verifier'].should_not
372
+ params['grant_type'].should == 'authorization_code'
373
+ params['client_secret'].should_not
374
+ url.should match 'http://test.uaa.target/oauth/token'
375
+ method.should == :post
376
+ reply = {access_token: 'test_access_token', token_type: 'BEARER',
377
+ scope: 'openid', expires_in: 98765}
378
+ [200, Util.json(reply), {'content-type' => 'application/json'}]
379
+ end
380
+ cburi = 'http://call.back/uri_path'
381
+ params = Util.decode_form(cburi[1])
382
+ params['code_challenge'].should_not
383
+ params['code_challenge_method'].should_not
384
+ redir_uri = subject.authcode_uri(cburi)
385
+ state = /state=([^&]+)/.match(redir_uri)[1]
386
+ reply_query = "state=#{state}&code=kz8%2F5gQZ2pc%3D"
387
+ token = subject.authcode_grant(redir_uri, reply_query)
388
+ token.should be_an_instance_of TokenInfo
389
+ token.info['access_token'].should == 'test_access_token'
390
+ token.info['token_type'].should =~ /^bearer$/i
391
+ token.info['scope'].should == 'openid'
392
+ token.info['expires_in'].should == 98765
393
+ end
327
394
  end
328
395
 
329
396
  context 'no pkce active as this is the default' do
@@ -338,6 +405,40 @@ describe TokenIssuer do
338
405
  end
339
406
  end
340
407
 
408
+ context 'with client_auth_method using client_secret_post' do
409
+ let(:options) { {client_auth_method: 'client_secret_post'} }
410
+ let(:client_secret) { 'body!secret' }
411
+
412
+ it 'use client_secret_post in authorization code and expect client_id and secret in body' do
413
+ subject.set_request_handler do |url, method, body, headers|
414
+ headers['content-type'].should =~ /application\/x-www-form-urlencoded/
415
+ headers['accept'].should =~ /application\/json/
416
+ headers['X-CF-ENCODED-CREDENTIALS'].should_not
417
+ headers['authorization'].should_not
418
+ params = Util.decode_form(body)
419
+ params['code_verifier'].should_not
420
+ params['grant_type'].should == 'authorization_code'
421
+ params['client_id'].should == 'test_client'
422
+ params['client_secret'].should == 'body!secret'
423
+ url.should match 'http://test.uaa.target/oauth/token'
424
+ method.should == :post
425
+ reply = {access_token: 'test_access_token', token_type: 'BEARER',
426
+ scope: 'openid', expires_in: 98765}
427
+ [200, Util.json(reply), {'content-type' => 'application/json'}]
428
+ end
429
+ cburi = 'http://call.back/uri_path'
430
+ redir_uri = subject.authcode_uri(cburi)
431
+ state = /state=([^&]+)/.match(redir_uri)[1]
432
+ reply_query = "state=#{state}&code=kz8%2F5gQZ2pc%3D"
433
+ token = subject.authcode_grant(redir_uri, reply_query)
434
+ token.should be_an_instance_of TokenInfo
435
+ token.info['access_token'].should == 'test_access_token'
436
+ token.info['token_type'].should =~ /^bearer$/i
437
+ token.info['scope'].should == 'openid'
438
+ token.info['expires_in'].should == 98765
439
+ end
440
+ end
441
+
341
442
  end
342
443
 
343
444
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cf-uaa-lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.6
4
+ version: 4.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Syer
@@ -9,45 +9,52 @@ authors:
9
9
  - Joel D'sa
10
10
  - Vidya Valmikinathan
11
11
  - Luke Taylor
12
- autorequire:
13
12
  bindir: bin
14
13
  cert_chain: []
15
- date: 2024-11-01 00:00:00.000000000 Z
14
+ date: 2025-01-21 00:00:00.000000000 Z
16
15
  dependencies:
17
16
  - !ruby/object:Gem::Dependency
18
- name: multi_json
17
+ name: json
19
18
  requirement: !ruby/object:Gem::Requirement
20
19
  requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 1.12.1
24
- - - "<"
20
+ - - "~>"
25
21
  - !ruby/object:Gem::Version
26
- version: '1.16'
22
+ version: '2.7'
27
23
  type: :runtime
28
24
  prerelease: false
29
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.7'
30
+ - !ruby/object:Gem::Dependency
31
+ name: mutex_m
32
+ requirement: !ruby/object:Gem::Requirement
30
33
  requirements:
31
34
  - - ">="
32
35
  - !ruby/object:Gem::Version
33
- version: 1.12.1
34
- - - "<"
36
+ version: '0'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
35
42
  - !ruby/object:Gem::Version
36
- version: '1.16'
43
+ version: '0'
37
44
  - !ruby/object:Gem::Dependency
38
- name: json_pure
45
+ name: base64
39
46
  requirement: !ruby/object:Gem::Requirement
40
47
  requirements:
41
- - - "~>"
48
+ - - ">="
42
49
  - !ruby/object:Gem::Version
43
- version: '2.7'
50
+ version: '0'
44
51
  type: :runtime
45
52
  prerelease: false
46
53
  version_requirements: !ruby/object:Gem::Requirement
47
54
  requirements:
48
- - - "~>"
55
+ - - ">="
49
56
  - !ruby/object:Gem::Version
50
- version: '2.7'
57
+ version: '0'
51
58
  - !ruby/object:Gem::Dependency
52
59
  name: httpclient
53
60
  requirement: !ruby/object:Gem::Requirement
@@ -190,20 +197,6 @@ dependencies:
190
197
  - - "~>"
191
198
  - !ruby/object:Gem::Version
192
199
  version: '2.0'
193
- - !ruby/object:Gem::Dependency
194
- name: json_pure
195
- requirement: !ruby/object:Gem::Requirement
196
- requirements:
197
- - - "~>"
198
- - !ruby/object:Gem::Version
199
- version: '2.7'
200
- type: :development
201
- prerelease: false
202
- version_requirements: !ruby/object:Gem::Requirement
203
- requirements:
204
- - - "~>"
205
- - !ruby/object:Gem::Version
206
- version: '2.7'
207
200
  - !ruby/object:Gem::Dependency
208
201
  name: ci_reporter_rspec
209
202
  requirement: !ruby/object:Gem::Requirement
@@ -266,7 +259,6 @@ homepage: https://github.com/cloudfoundry/cf-uaa-lib
266
259
  licenses:
267
260
  - Apache-2.0
268
261
  metadata: {}
269
- post_install_message:
270
262
  rdoc_options: []
271
263
  require_paths:
272
264
  - lib
@@ -281,8 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
281
273
  - !ruby/object:Gem::Version
282
274
  version: '0'
283
275
  requirements: []
284
- rubygems_version: 3.5.16
285
- signing_key:
276
+ rubygems_version: 3.6.2
286
277
  specification_version: 4
287
278
  summary: Client library for CloudFoundry UAA
288
279
  test_files: []