auth0 5.1.0 → 5.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +41 -0
- data/README.md +1 -0
- data/auth0.gemspec +6 -6
- data/lib/auth0/api/v2/connections.rb +5 -2
- data/lib/auth0/api/v2/device_credentials.rb +3 -3
- data/lib/auth0/api/v2/logs.rb +2 -2
- data/lib/auth0/api/v2/organizations.rb +23 -4
- data/lib/auth0/api/v2/roles.rb +7 -3
- data/lib/auth0/exception.rb +1 -1
- data/lib/auth0/mixins/httpproxy.rb +4 -1
- data/lib/auth0/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +38 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +38 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +38 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +45 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +75 -39
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +39 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +37 -25
- data/spec/lib/auth0/api/v2/connections_spec.rb +1 -1
- data/spec/lib/auth0/api/v2/device_credentials_spec.rb +2 -2
- data/spec/lib/auth0/api/v2/organizations_spec.rb +38 -8
- data/spec/lib/auth0/api/v2/roles_spec.rb +5 -1
- data/spec/lib/auth0/mixins/httpproxy_spec.rb +8 -8
- metadata +15 -15
@@ -12,54 +12,66 @@ http_interactions:
|
|
12
12
|
Accept-Encoding:
|
13
13
|
- gzip, deflate
|
14
14
|
User-Agent:
|
15
|
-
-
|
15
|
+
- rest-client/2.0.2 (darwin20.2.0 x86_64) ruby/2.7.2p137
|
16
16
|
Content-Type:
|
17
17
|
- application/json
|
18
18
|
Auth0-Client:
|
19
|
-
-
|
19
|
+
- eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjEuMiIsImVudiI6eyJydWJ5IjoiMi43LjIifX0=
|
20
20
|
Authorization:
|
21
21
|
- Bearer API_TOKEN
|
22
22
|
Content-Length:
|
23
23
|
- '53'
|
24
|
-
Host:
|
25
|
-
- auth0-sdk-tests.auth0.com
|
26
24
|
response:
|
27
25
|
status:
|
28
26
|
code: 201
|
29
27
|
message: Created
|
30
28
|
headers:
|
31
29
|
Date:
|
32
|
-
-
|
30
|
+
- Tue, 20 Jul 2021 02:06:03 GMT
|
33
31
|
Content-Type:
|
34
32
|
- application/json; charset=utf-8
|
35
33
|
Transfer-Encoding:
|
36
34
|
- chunked
|
37
35
|
Connection:
|
38
36
|
- keep-alive
|
39
|
-
|
40
|
-
-
|
41
|
-
X-Ratelimit-Remaining:
|
42
|
-
- '9'
|
43
|
-
X-Ratelimit-Reset:
|
44
|
-
- '1538770587'
|
45
|
-
Vary:
|
46
|
-
- origin,accept-encoding
|
37
|
+
Cf-Ray:
|
38
|
+
- 6718a0c42c0a323a-LAX
|
47
39
|
Cache-Control:
|
48
|
-
-
|
40
|
+
- no-cache
|
49
41
|
Content-Encoding:
|
50
42
|
- gzip
|
51
43
|
Strict-Transport-Security:
|
52
|
-
- max-age=
|
53
|
-
|
54
|
-
-
|
44
|
+
- max-age=31536000
|
45
|
+
Vary:
|
46
|
+
- origin,accept-encoding
|
47
|
+
Cf-Cache-Status:
|
48
|
+
- DYNAMIC
|
49
|
+
Expect-Ct:
|
50
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
51
|
+
Ot-Baggage-Auth0-Request-Id:
|
52
|
+
- 6718a0c42c0a323a
|
53
|
+
Ot-Tracer-Sampled:
|
54
|
+
- 'true'
|
55
|
+
Ot-Tracer-Spanid:
|
56
|
+
- 672b1d28532dec55
|
57
|
+
Ot-Tracer-Traceid:
|
58
|
+
- 1552b04c1ec626a6
|
59
|
+
X-Content-Type-Options:
|
60
|
+
- nosniff
|
61
|
+
X-Ratelimit-Limit:
|
62
|
+
- '50'
|
63
|
+
X-Ratelimit-Remaining:
|
64
|
+
- '49'
|
65
|
+
X-Ratelimit-Reset:
|
66
|
+
- '1626746764'
|
67
|
+
Server:
|
68
|
+
- cloudflare
|
69
|
+
Alt-Svc:
|
70
|
+
- h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443";
|
71
|
+
ma=86400
|
55
72
|
body:
|
56
73
|
encoding: ASCII-8BIT
|
57
74
|
string: !binary |-
|
58
|
-
H4sIAAAAAAAAA3WPQUvEQAyF/
|
59
|
-
|
60
|
-
|
61
|
-
3SRsGLaYH6iaeMNxcTOKfuu3659aKb7Y565iyOfaBN5Q7YmJrpQbKd1iVaoH
|
62
|
-
UV3P2Udy4deHdvBJawyS7xL2LqSIZLX08bQ95FPe9n+pp/ULPGRgtDMBAAA=
|
63
|
-
http_version:
|
64
|
-
recorded_at: Fri, 05 Oct 2018 20:16:25 GMT
|
65
|
-
recorded_with: VCR 4.0.0
|
75
|
+
H4sIAAAAAAAAA3WPQUvEQAyF/0vOFUpPMke9LSgelAVlGaYzaR2YJiVJd7cs+9+duurNU0Je8r2XC+QEDiKTp/unXdudu3dtdw9v+2dogGfLTAruAtMQthKi5SOCM1mwAUFbhDyScCle0SzTqDf12sAcVE8s6YVLjmu1GZlTxapJMBxXf0TRagCua6CXxdAPLBH9LGwY7Vv6Yf3eVEpY7LOtGApTTQKvqPbIRLeDO1n61eqoLmT1iaeQycc/HdwQitbsSKEvmHwsGclq6I/D9lAo09b/Sz1cvwBFiD9BMwEAAA==
|
76
|
+
recorded_at: Tue, 20 Jul 2021 02:06:02 GMT
|
77
|
+
recorded_with: VCR 6.0.0
|
@@ -113,7 +113,7 @@ describe Auth0::Api::V2::Connections do
|
|
113
113
|
context '.delete_connection_user' do
|
114
114
|
it { expect(@instance).to respond_to(:delete_connection_user) }
|
115
115
|
it 'is expected to call delete to /api/v2/connections/connectionId/users' do
|
116
|
-
expect(@instance).to receive(:delete).with('/api/v2/connections/connectionId/users
|
116
|
+
expect(@instance).to receive(:delete).with('/api/v2/connections/connectionId/users', email: 'email@test.com')
|
117
117
|
@instance.delete_connection_user('connectionId', 'email@test.com')
|
118
118
|
end
|
119
119
|
|
@@ -22,9 +22,9 @@ describe Auth0::Api::V2::DeviceCredentials do
|
|
22
22
|
)
|
23
23
|
expect { @instance.device_credentials(client_id) }.not_to raise_error
|
24
24
|
end
|
25
|
-
it 'is expect to raise an error when type is not one of \'public_key\', \'refresh_token\'' do
|
25
|
+
it 'is expect to raise an error when type is not one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\'' do
|
26
26
|
expect { @instance.device_credentials(client_id, type: 'invalid_type') }.to raise_error(
|
27
|
-
'Type must be one of \'public_key\', \'refresh_token\''
|
27
|
+
'Type must be one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\''
|
28
28
|
)
|
29
29
|
end
|
30
30
|
end
|
@@ -20,6 +20,8 @@ describe Auth0::Api::V2::Organizations do
|
|
20
20
|
'/api/v2/organizations',
|
21
21
|
per_page: nil,
|
22
22
|
page: nil,
|
23
|
+
from: nil,
|
24
|
+
take: nil,
|
23
25
|
include_totals: nil
|
24
26
|
)
|
25
27
|
expect { @instance.organizations }.not_to raise_error
|
@@ -30,12 +32,16 @@ describe Auth0::Api::V2::Organizations do
|
|
30
32
|
'/api/v2/organizations',
|
31
33
|
per_page: 10,
|
32
34
|
page: 1,
|
35
|
+
from: 'org_id',
|
36
|
+
take: 50,
|
33
37
|
include_totals: true
|
34
38
|
)
|
35
39
|
expect do
|
36
40
|
@instance.organizations(
|
37
41
|
per_page: 10,
|
38
42
|
page: 1,
|
43
|
+
from: 'org_id',
|
44
|
+
take: 50,
|
39
45
|
include_totals: true
|
40
46
|
)
|
41
47
|
end.not_to raise_error
|
@@ -247,14 +253,19 @@ describe Auth0::Api::V2::Organizations do
|
|
247
253
|
expect(@instance).to receive(:post).with(
|
248
254
|
'/api/v2/organizations/org_id/enabled_connections',
|
249
255
|
{
|
256
|
+
connection_id: 'connection_id',
|
250
257
|
assign_membership_on_login: true
|
251
258
|
}
|
252
259
|
)
|
253
|
-
@instance.create_organizations_enabled_connection('org_id', assign_membership_on_login: true)
|
260
|
+
@instance.create_organizations_enabled_connection('org_id', 'connection_id', assign_membership_on_login: true)
|
254
261
|
end
|
255
262
|
|
256
263
|
it 'is expected to raise an exception when the organization id is empty' do
|
257
|
-
expect { @instance.create_organizations_enabled_connection(nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
264
|
+
expect { @instance.create_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
265
|
+
end
|
266
|
+
|
267
|
+
it 'is expected to raise an exception when the connection id is empty' do
|
268
|
+
expect { @instance.create_organizations_enabled_connection('123', nil) }.to raise_error 'Must supply a valid connection id'
|
258
269
|
end
|
259
270
|
end
|
260
271
|
|
@@ -433,19 +444,38 @@ describe Auth0::Api::V2::Organizations do
|
|
433
444
|
expect { @instance.get_organizations_members(nil) }.to raise_exception(Auth0::MissingOrganizationId)
|
434
445
|
end
|
435
446
|
|
436
|
-
it 'is expected to get
|
447
|
+
it 'is expected to get members for an org' do
|
437
448
|
expect(@instance).to receive(:get).with(
|
438
|
-
'/api/v2/organizations/org_id/members'
|
449
|
+
'/api/v2/organizations/org_id/members',
|
450
|
+
per_page: nil,
|
451
|
+
page: nil,
|
452
|
+
from: nil,
|
453
|
+
take: nil,
|
454
|
+
include_totals: nil
|
439
455
|
)
|
440
|
-
expect
|
456
|
+
expect do
|
457
|
+
@instance.get_organizations_members('org_id')
|
458
|
+
end.not_to raise_error
|
441
459
|
end
|
442
460
|
|
443
|
-
it 'is expected to get
|
461
|
+
it 'is expected to get /api/v2/organizations with custom parameters' do
|
444
462
|
expect(@instance).to receive(:get).with(
|
445
|
-
'/api/v2/organizations/org_id/members'
|
463
|
+
'/api/v2/organizations/org_id/members',
|
464
|
+
per_page: 10,
|
465
|
+
page: 1,
|
466
|
+
from: 'org_id',
|
467
|
+
take: 50,
|
468
|
+
include_totals: true
|
446
469
|
)
|
447
470
|
expect do
|
448
|
-
@instance.get_organizations_members(
|
471
|
+
@instance.get_organizations_members(
|
472
|
+
'org_id',
|
473
|
+
per_page: 10,
|
474
|
+
page: 1,
|
475
|
+
from: 'org_id',
|
476
|
+
take: 50,
|
477
|
+
include_totals: true
|
478
|
+
)
|
449
479
|
end.not_to raise_error
|
450
480
|
end
|
451
481
|
end
|
@@ -152,6 +152,8 @@ describe Auth0::Api::V2::Roles do
|
|
152
152
|
'/api/v2/roles/ROLE_ID/users',
|
153
153
|
per_page: nil,
|
154
154
|
page: nil,
|
155
|
+
from: nil,
|
156
|
+
take: nil,
|
155
157
|
include_totals: nil
|
156
158
|
)
|
157
159
|
expect { @instance.get_role_users('ROLE_ID') }.not_to raise_error
|
@@ -162,10 +164,12 @@ describe Auth0::Api::V2::Roles do
|
|
162
164
|
'/api/v2/roles/ROLE_ID/users',
|
163
165
|
per_page: 30,
|
164
166
|
page: 4,
|
167
|
+
from: 'org_id',
|
168
|
+
take: 50,
|
165
169
|
include_totals: true
|
166
170
|
)
|
167
171
|
expect do
|
168
|
-
@instance.get_role_users('ROLE_ID', per_page: 30, page: 4, include_totals: true)
|
172
|
+
@instance.get_role_users('ROLE_ID', per_page: 30, page: 4, from: 'org_id', take: 50, include_totals: true)
|
169
173
|
end.not_to raise_error
|
170
174
|
end
|
171
175
|
end
|
@@ -104,9 +104,9 @@ describe Auth0::Mixins::HTTPProxy do
|
|
104
104
|
it "should raise Auth0::RateLimitEncountered on send http #{http_method} method
|
105
105
|
to path defined through HTTP when 429 recieved" do
|
106
106
|
headers = {
|
107
|
-
|
108
|
-
|
109
|
-
|
107
|
+
:x_ratelimit_limit => 10,
|
108
|
+
:x_ratelimit_remaining => 0,
|
109
|
+
:x_ratelimit_reset => 1560564149
|
110
110
|
}
|
111
111
|
@exception.response = StubResponse.new({}, false, 429, headers)
|
112
112
|
allow(RestClient::Request).to receive(:execute).with(method: http_method,
|
@@ -127,7 +127,7 @@ describe Auth0::Mixins::HTTPProxy do
|
|
127
127
|
reset: Time.at(1560564149)
|
128
128
|
)
|
129
129
|
}
|
130
|
-
end
|
130
|
+
end
|
131
131
|
|
132
132
|
it "should raise Auth0::ServerError on send http #{http_method} method
|
133
133
|
to path defined through HTTP when 500 received" do
|
@@ -188,13 +188,13 @@ describe Auth0::Mixins::HTTPProxy do
|
|
188
188
|
.and_raise(@exception)
|
189
189
|
expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::Unauthorized)
|
190
190
|
end
|
191
|
-
|
191
|
+
|
192
192
|
it "should raise Auth0::RateLimitEncountered on send http #{http_method} method
|
193
193
|
to path defined through HTTP when 429 status received" do
|
194
194
|
headers = {
|
195
|
-
|
196
|
-
|
197
|
-
|
195
|
+
:x_ratelimit_limit => 10,
|
196
|
+
:x_ratelimit_remaining => 0,
|
197
|
+
:x_ratelimit_reset => 1560564149
|
198
198
|
}
|
199
199
|
@exception.response = StubResponse.new({}, false, 429,headers)
|
200
200
|
allow(RestClient::Request).to receive(:execute).with(method: http_method,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auth0
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Auth0
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2021-
|
14
|
+
date: 2021-07-25 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rest-client
|
@@ -19,56 +19,56 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - "~>"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 2.0.
|
22
|
+
version: 2.0.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 2.0.
|
29
|
+
version: 2.0.2
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: jwt
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
34
|
- - "~>"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 2.2
|
36
|
+
version: '2.2'
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 2.2
|
43
|
+
version: '2.2'
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: zache
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
48
|
- - "~>"
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: 0.12
|
50
|
+
version: '0.12'
|
51
51
|
type: :runtime
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
55
|
- - "~>"
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: 0.12
|
57
|
+
version: '0.12'
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: addressable
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
62
|
- - "~>"
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version: 2.
|
64
|
+
version: '2.8'
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
69
|
- - "~>"
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version: 2.
|
71
|
+
version: '2.8'
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: bundler
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
@@ -159,14 +159,14 @@ dependencies:
|
|
159
159
|
requirements:
|
160
160
|
- - "~>"
|
161
161
|
- !ruby/object:Gem::Version
|
162
|
-
version: 0.2
|
162
|
+
version: '0.2'
|
163
163
|
type: :development
|
164
164
|
prerelease: false
|
165
165
|
version_requirements: !ruby/object:Gem::Requirement
|
166
166
|
requirements:
|
167
167
|
- - "~>"
|
168
168
|
- !ruby/object:Gem::Version
|
169
|
-
version: 0.2
|
169
|
+
version: '0.2'
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
171
|
name: rspec
|
172
172
|
requirement: !ruby/object:Gem::Requirement
|
@@ -201,14 +201,14 @@ dependencies:
|
|
201
201
|
requirements:
|
202
202
|
- - "~>"
|
203
203
|
- !ruby/object:Gem::Version
|
204
|
-
version: 2.1
|
204
|
+
version: '2.1'
|
205
205
|
type: :development
|
206
206
|
prerelease: false
|
207
207
|
version_requirements: !ruby/object:Gem::Requirement
|
208
208
|
requirements:
|
209
209
|
- - "~>"
|
210
210
|
- !ruby/object:Gem::Version
|
211
|
-
version: 2.1
|
211
|
+
version: '2.1'
|
212
212
|
- !ruby/object:Gem::Dependency
|
213
213
|
name: simplecov
|
214
214
|
requirement: !ruby/object:Gem::Requirement
|
@@ -636,7 +636,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
636
636
|
- !ruby/object:Gem::Version
|
637
637
|
version: '0'
|
638
638
|
requirements: []
|
639
|
-
rubygems_version: 3.
|
639
|
+
rubygems_version: 3.2.16
|
640
640
|
signing_key:
|
641
641
|
specification_version: 4
|
642
642
|
summary: Auth0 API Client
|