auth0 5.0.0 → 5.1.2
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/.circleci/config.yml +29 -8
- data/.github/CODEOWNERS +1 -1
- data/.github/ISSUE_TEMPLATE/config.yml +8 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +39 -0
- data/.github/ISSUE_TEMPLATE/report_a_bug.md +55 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +46 -0
- data/README.md +80 -1
- data/auth0.gemspec +4 -3
- data/lib/auth0/api/authentication_endpoints.rb +16 -6
- data/lib/auth0/api/v2.rb +8 -4
- data/lib/auth0/api/v2/branding.rb +66 -0
- data/lib/auth0/api/v2/connections.rb +3 -0
- data/lib/auth0/api/v2/jobs.rb +3 -1
- data/lib/auth0/api/v2/organizations.rb +335 -0
- data/lib/auth0/api/v2/tickets.rb +14 -2
- data/lib/auth0/api/v2/users.rb +13 -1
- data/lib/auth0/exception.rb +3 -1
- data/lib/auth0/mixins/httpproxy.rb +4 -1
- data/lib/auth0/mixins/initializer.rb +3 -1
- data/lib/auth0/mixins/validation.rb +14 -0
- data/lib/auth0/version.rb +1 -1
- data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +1 -1
- data/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +1 -1
- data/spec/lib/auth0/api/v2/branding_spec.rb +70 -0
- data/spec/lib/auth0/api/v2/connections_spec.rb +4 -0
- data/spec/lib/auth0/api/v2/jobs_spec.rb +11 -0
- data/spec/lib/auth0/api/v2/organizations_spec.rb +593 -0
- data/spec/lib/auth0/api/v2/tickets_spec.rb +55 -0
- data/spec/lib/auth0/api/v2/users_spec.rb +20 -1
- data/spec/lib/auth0/client_spec.rb +79 -9
- data/spec/lib/auth0/mixins/httpproxy_spec.rb +8 -8
- data/spec/lib/auth0/mixins/validation_spec.rb +32 -0
- data/spec/spec_helper.rb +6 -1
- metadata +34 -19
- data/.github/ISSUE_TEMPLATE.md +0 -39
- data/Gemfile.lock +0 -226
@@ -59,5 +59,60 @@ describe Auth0::Api::V2::Tickets do
|
|
59
59
|
new_password: nil)
|
60
60
|
expect {@instance.post_password_change}.not_to raise_error
|
61
61
|
end
|
62
|
+
|
63
|
+
it 'expect client to accept organization_id' do
|
64
|
+
expect(@instance).to receive(:post).with('/api/v2/tickets/password-change',
|
65
|
+
result_url: nil,
|
66
|
+
user_id: nil,
|
67
|
+
connection_id: nil,
|
68
|
+
email: nil,
|
69
|
+
ttl_sec: nil,
|
70
|
+
mark_email_as_verified: nil,
|
71
|
+
includeEmailInRedirect: nil,
|
72
|
+
new_password: nil,
|
73
|
+
client_id: '123',
|
74
|
+
organization_id: '999'
|
75
|
+
)
|
76
|
+
expect {
|
77
|
+
@instance.post_password_change(
|
78
|
+
result_url: nil,
|
79
|
+
user_id: nil,
|
80
|
+
connection_id: nil,
|
81
|
+
email: nil,
|
82
|
+
ttl_sec: nil,
|
83
|
+
mark_email_as_verified: nil,
|
84
|
+
includeEmailInRedirect: nil,
|
85
|
+
new_password: nil,
|
86
|
+
client_id: '123',
|
87
|
+
organization_id: '999')
|
88
|
+
}.not_to raise_error
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'expect client to accept client_id' do
|
92
|
+
expect(@instance).to receive(:post).with('/api/v2/tickets/password-change',
|
93
|
+
result_url: nil,
|
94
|
+
user_id: nil,
|
95
|
+
connection_id: nil,
|
96
|
+
email: nil,
|
97
|
+
ttl_sec: nil,
|
98
|
+
mark_email_as_verified: nil,
|
99
|
+
includeEmailInRedirect: nil,
|
100
|
+
new_password: nil,
|
101
|
+
client_id: '123'
|
102
|
+
)
|
103
|
+
expect {
|
104
|
+
@instance.post_password_change(
|
105
|
+
result_url: nil,
|
106
|
+
user_id: nil,
|
107
|
+
connection_id: nil,
|
108
|
+
email: nil,
|
109
|
+
ttl_sec: nil,
|
110
|
+
mark_email_as_verified: nil,
|
111
|
+
includeEmailInRedirect: nil,
|
112
|
+
new_password: nil,
|
113
|
+
client_id: '123'
|
114
|
+
)
|
115
|
+
}.not_to raise_error
|
116
|
+
end
|
62
117
|
end
|
63
118
|
end
|
@@ -524,7 +524,7 @@ describe Auth0::Api::V2::Users do
|
|
524
524
|
end
|
525
525
|
|
526
526
|
it 'is expected to get generate a recovery code' do
|
527
|
-
expect(@instance).to receive(:post).with('/api/v2/users/USER_ID/recovery-code-
|
527
|
+
expect(@instance).to receive(:post).with('/api/v2/users/USER_ID/recovery-code-regeneration')
|
528
528
|
expect do
|
529
529
|
@instance.generate_recovery_code('USER_ID')
|
530
530
|
end.not_to raise_error
|
@@ -549,4 +549,23 @@ describe Auth0::Api::V2::Users do
|
|
549
549
|
end.not_to raise_error
|
550
550
|
end
|
551
551
|
end
|
552
|
+
|
553
|
+
context '.get_user_organizations' do
|
554
|
+
it 'is expected to respond to a get_user_organizations method' do
|
555
|
+
expect(@instance).to respond_to(:get_user_organizations)
|
556
|
+
end
|
557
|
+
|
558
|
+
it 'is expected to raise an exception when the user ID is empty' do
|
559
|
+
expect { @instance.get_user_organizations(nil) }.to raise_exception(Auth0::MissingUserId)
|
560
|
+
end
|
561
|
+
|
562
|
+
it 'is expected to get users organizations' do
|
563
|
+
expect(@instance).to receive(:get).with(
|
564
|
+
'/api/v2/users/USER_ID/organizations'
|
565
|
+
)
|
566
|
+
expect do
|
567
|
+
@instance.get_user_organizations('USER_ID')
|
568
|
+
end.not_to raise_error
|
569
|
+
end
|
570
|
+
end
|
552
571
|
end
|
@@ -29,7 +29,7 @@ describe Auth0::Client do
|
|
29
29
|
let(:client_id) { '__test_client_id__' }
|
30
30
|
let(:client_secret) { '__test_client_secret__' }
|
31
31
|
let(:access_token) { '__test_access_token__' }
|
32
|
-
let(:
|
32
|
+
let(:organization) { '__test_organization__'}
|
33
33
|
|
34
34
|
describe 'V2 client with token' do
|
35
35
|
|
@@ -84,13 +84,12 @@ describe Auth0::Client do
|
|
84
84
|
it_should_behave_like 'Authentication API client'
|
85
85
|
end
|
86
86
|
|
87
|
-
context 'with token
|
87
|
+
context 'with token and client_secret' do
|
88
88
|
let(:subject) do
|
89
89
|
Auth0::Client.new(
|
90
90
|
token: access_token,
|
91
91
|
domain: domain,
|
92
92
|
client_secret: client_secret,
|
93
|
-
audience: audience
|
94
93
|
)
|
95
94
|
end
|
96
95
|
it_should_behave_like 'v2 API client'
|
@@ -99,19 +98,53 @@ describe Auth0::Client do
|
|
99
98
|
end
|
100
99
|
|
101
100
|
describe 'V2 client without token' do
|
101
|
+
context 'should try to get an API token' do
|
102
|
+
before do
|
103
|
+
stub_api_token
|
104
|
+
end
|
102
105
|
|
103
|
-
|
104
|
-
|
106
|
+
let(:subject) do
|
107
|
+
Auth0::Client.new(
|
108
|
+
domain: domain,
|
109
|
+
client_id: client_id,
|
110
|
+
client_secret: client_secret,
|
111
|
+
)
|
112
|
+
end
|
113
|
+
it_should_behave_like 'v2 API client'
|
114
|
+
it_should_behave_like 'Authentication API client'
|
105
115
|
end
|
106
116
|
|
107
|
-
context '
|
117
|
+
context 'when try to get an API tokenwith api_identifier' do
|
118
|
+
let(:api_identifier) { 'https://samples.api_identifier/api/v2/' }
|
119
|
+
|
120
|
+
before do
|
121
|
+
stub_api_token_with_api_identifier
|
122
|
+
end
|
108
123
|
|
109
124
|
let(:subject) do
|
110
125
|
Auth0::Client.new(
|
111
126
|
domain: domain,
|
112
127
|
client_id: client_id,
|
113
128
|
client_secret: client_secret,
|
114
|
-
|
129
|
+
api_identifier: api_identifier
|
130
|
+
)
|
131
|
+
end
|
132
|
+
|
133
|
+
it_should_behave_like 'v2 API client'
|
134
|
+
it_should_behave_like 'Authentication API client'
|
135
|
+
end
|
136
|
+
|
137
|
+
context 'when try to get an API tokenwith organization' do
|
138
|
+
before do
|
139
|
+
stub_api_token_with_organization
|
140
|
+
end
|
141
|
+
|
142
|
+
let(:subject) do
|
143
|
+
Auth0::Client.new(
|
144
|
+
domain: domain,
|
145
|
+
client_id: client_id,
|
146
|
+
client_secret: client_secret,
|
147
|
+
organization: organization
|
115
148
|
)
|
116
149
|
end
|
117
150
|
it_should_behave_like 'v2 API client'
|
@@ -125,7 +158,6 @@ describe Auth0::Client do
|
|
125
158
|
Auth0::Client.new(
|
126
159
|
domain: domain,
|
127
160
|
client_id: client_id,
|
128
|
-
audience: audience
|
129
161
|
)
|
130
162
|
end.to raise_error('Must supply a valid API token')
|
131
163
|
end
|
@@ -140,7 +172,45 @@ describe Auth0::Client do
|
|
140
172
|
grant_type: 'client_credentials',
|
141
173
|
client_id: client_id,
|
142
174
|
client_secret: client_secret,
|
143
|
-
audience:
|
175
|
+
audience: "https://#{domain}/api/v2/"
|
176
|
+
}
|
177
|
+
)
|
178
|
+
)
|
179
|
+
.to_return(
|
180
|
+
headers: { 'Content-Type' => 'application/json' },
|
181
|
+
body: '{"access_token":"__test_access_token__"}',
|
182
|
+
status: 200
|
183
|
+
)
|
184
|
+
end
|
185
|
+
|
186
|
+
def stub_api_token_with_api_identifier
|
187
|
+
stub_request(:post, "https://#{domain}/oauth/token")
|
188
|
+
.with(
|
189
|
+
body: hash_including(
|
190
|
+
{
|
191
|
+
grant_type: 'client_credentials',
|
192
|
+
client_id: client_id,
|
193
|
+
client_secret: client_secret,
|
194
|
+
audience: api_identifier
|
195
|
+
}
|
196
|
+
)
|
197
|
+
)
|
198
|
+
.to_return(
|
199
|
+
headers: { 'Content-Type' => 'application/json' },
|
200
|
+
body: '{"access_token":"__test_access_token__"}',
|
201
|
+
status: 200
|
202
|
+
)
|
203
|
+
end
|
204
|
+
|
205
|
+
def stub_api_token_with_organization
|
206
|
+
stub_request(:post, "https://#{domain}/oauth/token")
|
207
|
+
.with(
|
208
|
+
body: hash_including(
|
209
|
+
{
|
210
|
+
grant_type: 'client_credentials',
|
211
|
+
client_id: client_id,
|
212
|
+
client_secret: client_secret,
|
213
|
+
organization: organization
|
144
214
|
}
|
145
215
|
)
|
146
216
|
)
|
@@ -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,
|
@@ -143,6 +143,12 @@ describe Auth0::Mixins::Validation::IdTokenValidator do
|
|
143
143
|
expect { instance.validate(token) }.to raise_exception('Must supply a valid nonce')
|
144
144
|
end
|
145
145
|
|
146
|
+
it 'is expected to raise an error with an empty organization' do
|
147
|
+
instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: '' }))
|
148
|
+
|
149
|
+
expect { instance.validate(token) }.to raise_exception('Must supply a valid organization')
|
150
|
+
end
|
151
|
+
|
146
152
|
it 'is expected to raise an error with an empty issuer' do
|
147
153
|
instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ issuer: '' }))
|
148
154
|
|
@@ -277,6 +283,32 @@ describe Auth0::Mixins::Validation::IdTokenValidator do
|
|
277
283
|
|
278
284
|
expect { instance.validate(token) }.to raise_exception("Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time \"#{clock}\" is after last auth at \"#{auth_time}\"")
|
279
285
|
end
|
286
|
+
|
287
|
+
it 'is expected not to raise an error when org_id exsist in the token, but not required' do
|
288
|
+
token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNjE2NjE3ODgxLCJpYXQiOjE2MTY0NDUwODEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTYxNjUzMTQ4MSwib3JnX2lkIjoidGVzdE9yZyJ9.AOafUKUNgaxUXpSRYFCeJERcwrQZ4q2NZlutwGXnh9I'
|
289
|
+
expect { @instance.validate(token) }.not_to raise_exception
|
290
|
+
end
|
291
|
+
|
292
|
+
it 'is expected to raise an error with a missing but required organization' do
|
293
|
+
token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNjE2NjE4MTg1LCJpYXQiOjE2MTY0NDUzODUsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTYxNjUzMTc4NX0.UMo5pmgceXO9lIKzbk7X0ZhE5DOe0IP2LfMKdUj03zQ'
|
294
|
+
instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'a1b2c3d4e5' }))
|
295
|
+
|
296
|
+
expect { instance.validate(token) }.to raise_exception('Organization Id (org_id) claim must be a string present in the ID token')
|
297
|
+
end
|
298
|
+
|
299
|
+
it 'is expected to raise an error with an invalid organization' do
|
300
|
+
token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNjE2NjE3ODgxLCJpYXQiOjE2MTY0NDUwODEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTYxNjUzMTQ4MSwib3JnX2lkIjoidGVzdE9yZyJ9.AOafUKUNgaxUXpSRYFCeJERcwrQZ4q2NZlutwGXnh9I'
|
301
|
+
instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'a1b2c3d4e5' }))
|
302
|
+
|
303
|
+
expect { instance.validate(token) }.to raise_exception('Organization Id (org_id) claim value mismatch in the ID token; expected "a1b2c3d4e5", found "testOrg"')
|
304
|
+
end
|
305
|
+
|
306
|
+
it 'is expected to NOT raise an error with a valid organization' do
|
307
|
+
token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNjE2NjE3ODgxLCJpYXQiOjE2MTY0NDUwODEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTYxNjUzMTQ4MSwib3JnX2lkIjoidGVzdE9yZyJ9.AOafUKUNgaxUXpSRYFCeJERcwrQZ4q2NZlutwGXnh9I'
|
308
|
+
instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'testOrg' }))
|
309
|
+
|
310
|
+
expect { instance.validate(token) }.not_to raise_exception
|
311
|
+
end
|
280
312
|
end
|
281
313
|
end
|
282
314
|
|
data/spec/spec_helper.rb
CHANGED
@@ -4,6 +4,11 @@ require 'faker'
|
|
4
4
|
require 'json'
|
5
5
|
require 'auth0'
|
6
6
|
|
7
|
+
if RUBY_VERSION >= '2.7.2'
|
8
|
+
# NOTE: https://bugs.ruby-lang.org/issues/17000
|
9
|
+
Warning[:deprecated] = true
|
10
|
+
end
|
11
|
+
|
7
12
|
require 'simplecov'
|
8
13
|
SimpleCov.start
|
9
14
|
|
@@ -60,4 +65,4 @@ def entity_suffix
|
|
60
65
|
'rubytest'
|
61
66
|
end
|
62
67
|
|
63
|
-
puts "Entity suffix is #{entity_suffix}"
|
68
|
+
puts "Entity suffix is #{entity_suffix}"
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auth0
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Auth0
|
8
8
|
- Jose Romaniello
|
9
9
|
- Ivan Petroe
|
10
10
|
- Patrik Ragnarsson
|
11
|
-
autorequire:
|
11
|
+
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2021-07-15 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rest-client
|
@@ -61,14 +61,28 @@ dependencies:
|
|
61
61
|
requirements:
|
62
62
|
- - "~>"
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version: 2.
|
64
|
+
version: 2.8.0
|
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.0
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: bundler
|
74
|
+
requirement: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
72
86
|
- !ruby/object:Gem::Dependency
|
73
87
|
name: rake
|
74
88
|
requirement: !ruby/object:Gem::Requirement
|
@@ -159,20 +173,14 @@ dependencies:
|
|
159
173
|
requirements:
|
160
174
|
- - "~>"
|
161
175
|
- !ruby/object:Gem::Version
|
162
|
-
version: '3.
|
163
|
-
- - ">="
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: 3.1.0
|
176
|
+
version: '3.5'
|
166
177
|
type: :development
|
167
178
|
prerelease: false
|
168
179
|
version_requirements: !ruby/object:Gem::Requirement
|
169
180
|
requirements:
|
170
181
|
- - "~>"
|
171
182
|
- !ruby/object:Gem::Version
|
172
|
-
version: '3.
|
173
|
-
- - ">="
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
version: 3.1.0
|
183
|
+
version: '3.5'
|
176
184
|
- !ruby/object:Gem::Dependency
|
177
185
|
name: rack-test
|
178
186
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,14 +229,14 @@ dependencies:
|
|
221
229
|
requirements:
|
222
230
|
- - "~>"
|
223
231
|
- !ruby/object:Gem::Version
|
224
|
-
version: '
|
232
|
+
version: '2.0'
|
225
233
|
type: :development
|
226
234
|
prerelease: false
|
227
235
|
version_requirements: !ruby/object:Gem::Requirement
|
228
236
|
requirements:
|
229
237
|
- - "~>"
|
230
238
|
- !ruby/object:Gem::Version
|
231
|
-
version: '
|
239
|
+
version: '2.0'
|
232
240
|
- !ruby/object:Gem::Dependency
|
233
241
|
name: gem-release
|
234
242
|
requirement: !ruby/object:Gem::Requirement
|
@@ -255,7 +263,9 @@ files:
|
|
255
263
|
- ".env.example"
|
256
264
|
- ".gemrelease"
|
257
265
|
- ".github/CODEOWNERS"
|
258
|
-
- ".github/ISSUE_TEMPLATE.
|
266
|
+
- ".github/ISSUE_TEMPLATE/config.yml"
|
267
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
268
|
+
- ".github/ISSUE_TEMPLATE/report_a_bug.md"
|
259
269
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
260
270
|
- ".github/stale.yml"
|
261
271
|
- ".gitignore"
|
@@ -272,7 +282,6 @@ files:
|
|
272
282
|
- DEPLOYMENT.md
|
273
283
|
- Dockerfile
|
274
284
|
- Gemfile
|
275
|
-
- Gemfile.lock
|
276
285
|
- Guardfile
|
277
286
|
- LICENSE
|
278
287
|
- README.md
|
@@ -353,6 +362,7 @@ files:
|
|
353
362
|
- lib/auth0/api/v2.rb
|
354
363
|
- lib/auth0/api/v2/anomaly.rb
|
355
364
|
- lib/auth0/api/v2/blacklists.rb
|
365
|
+
- lib/auth0/api/v2/branding.rb
|
356
366
|
- lib/auth0/api/v2/client_grants.rb
|
357
367
|
- lib/auth0/api/v2/clients.rb
|
358
368
|
- lib/auth0/api/v2/connections.rb
|
@@ -362,6 +372,7 @@ files:
|
|
362
372
|
- lib/auth0/api/v2/jobs.rb
|
363
373
|
- lib/auth0/api/v2/log_streams.rb
|
364
374
|
- lib/auth0/api/v2/logs.rb
|
375
|
+
- lib/auth0/api/v2/organizations.rb
|
365
376
|
- lib/auth0/api/v2/prompts.rb
|
366
377
|
- lib/auth0/api/v2/resource_servers.rb
|
367
378
|
- lib/auth0/api/v2/roles.rb
|
@@ -574,6 +585,7 @@ files:
|
|
574
585
|
- spec/integration/lib/auth0/auth0_client_spec.rb
|
575
586
|
- spec/lib/auth0/api/v2/anomaly_spec.rb
|
576
587
|
- spec/lib/auth0/api/v2/blacklists_spec.rb
|
588
|
+
- spec/lib/auth0/api/v2/branding_spec.rb
|
577
589
|
- spec/lib/auth0/api/v2/client_grants_spec.rb
|
578
590
|
- spec/lib/auth0/api/v2/clients_spec.rb
|
579
591
|
- spec/lib/auth0/api/v2/connections_spec.rb
|
@@ -583,6 +595,7 @@ files:
|
|
583
595
|
- spec/lib/auth0/api/v2/jobs_spec.rb
|
584
596
|
- spec/lib/auth0/api/v2/log_streams_spec.rb
|
585
597
|
- spec/lib/auth0/api/v2/logs_spec.rb
|
598
|
+
- spec/lib/auth0/api/v2/organizations_spec.rb
|
586
599
|
- spec/lib/auth0/api/v2/prompts_spec.rb
|
587
600
|
- spec/lib/auth0/api/v2/resource_servers_spec.rb
|
588
601
|
- spec/lib/auth0/api/v2/roles_spec.rb
|
@@ -608,7 +621,7 @@ homepage: https://github.com/auth0/ruby-auth0
|
|
608
621
|
licenses:
|
609
622
|
- MIT
|
610
623
|
metadata: {}
|
611
|
-
post_install_message:
|
624
|
+
post_install_message:
|
612
625
|
rdoc_options: []
|
613
626
|
require_paths:
|
614
627
|
- lib
|
@@ -624,7 +637,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
624
637
|
version: '0'
|
625
638
|
requirements: []
|
626
639
|
rubygems_version: 3.1.2
|
627
|
-
signing_key:
|
640
|
+
signing_key:
|
628
641
|
specification_version: 4
|
629
642
|
summary: Auth0 API Client
|
630
643
|
test_files:
|
@@ -817,6 +830,7 @@ test_files:
|
|
817
830
|
- spec/integration/lib/auth0/auth0_client_spec.rb
|
818
831
|
- spec/lib/auth0/api/v2/anomaly_spec.rb
|
819
832
|
- spec/lib/auth0/api/v2/blacklists_spec.rb
|
833
|
+
- spec/lib/auth0/api/v2/branding_spec.rb
|
820
834
|
- spec/lib/auth0/api/v2/client_grants_spec.rb
|
821
835
|
- spec/lib/auth0/api/v2/clients_spec.rb
|
822
836
|
- spec/lib/auth0/api/v2/connections_spec.rb
|
@@ -826,6 +840,7 @@ test_files:
|
|
826
840
|
- spec/lib/auth0/api/v2/jobs_spec.rb
|
827
841
|
- spec/lib/auth0/api/v2/log_streams_spec.rb
|
828
842
|
- spec/lib/auth0/api/v2/logs_spec.rb
|
843
|
+
- spec/lib/auth0/api/v2/organizations_spec.rb
|
829
844
|
- spec/lib/auth0/api/v2/prompts_spec.rb
|
830
845
|
- spec/lib/auth0/api/v2/resource_servers_spec.rb
|
831
846
|
- spec/lib/auth0/api/v2/roles_spec.rb
|