descope 1.0.5 → 1.0.6
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/.github/workflows/publish-gem.yaml +30 -5
- data/Gemfile +3 -3
- data/Gemfile.lock +12 -20
- data/README.md +18 -3
- data/descope.gemspec +25 -20
- data/examples/ruby/.ruby-version +1 -0
- data/examples/ruby/access_key_app.rb +4 -3
- data/examples/ruby/enchantedlink_app.rb +1 -0
- data/examples/ruby/magiclink_app.rb +1 -0
- data/examples/ruby/management/.ruby-version +1 -0
- data/examples/ruby/management/Gemfile +2 -2
- data/examples/ruby/management/access_key_app.rb +2 -0
- data/examples/ruby/management/audit_app.rb +32 -8
- data/examples/ruby/management/authz_app.rb +1 -0
- data/examples/ruby/management/flow_app.rb +1 -0
- data/examples/ruby/management/permission_app.rb +3 -2
- data/examples/ruby/management/role_app.rb +3 -2
- data/examples/ruby/management/tenant_app.rb +1 -0
- data/examples/ruby/management/user_app.rb +1 -0
- data/examples/ruby/oauth_app.rb +1 -0
- data/examples/ruby/otp_app.rb +38 -12
- data/examples/ruby/password_app.rb +8 -7
- data/examples/ruby/saml_app.rb +1 -0
- data/examples/ruby/version_check.rb +17 -0
- data/examples/ruby-on-rails-api/descope/Gemfile +3 -1
- data/examples/ruby-on-rails-api/descope/Gemfile.lock +121 -90
- data/examples/ruby-on-rails-api/descope/README.md +18 -18
- data/examples/ruby-on-rails-api/descope/app/assets/builds/application.css +20092 -23
- data/examples/ruby-on-rails-api/descope/app/assets/builds/application.js +0 -1
- data/examples/ruby-on-rails-api/descope/app/assets/builds/components/index.js +0 -14
- data/examples/ruby-on-rails-api/descope/package-lock.json +1021 -19306
- data/examples/ruby-on-rails-api/descope/package.json +8 -16
- data/examples/ruby-on-rails-api/descope/yarn.lock +459 -10641
- data/lib/descope/api/v1/auth/otp.rb +21 -14
- data/lib/descope/api/v1/auth.rb +17 -20
- data/lib/descope/api/v1/management/audit.rb +24 -0
- data/lib/descope/api/v1/management/common.rb +1 -0
- data/lib/descope/mixins/common.rb +5 -2
- data/lib/descope/mixins/validation.rb +21 -6
- data/lib/descope/version.rb +1 -1
- data/spec/integration/lib.descope/api/v1/auth/otp_spec.rb +72 -7
- data/spec/integration/lib.descope/api/v1/management/audit_spec.rb +36 -0
- data/spec/integration/lib.descope/api/v1/management/roles_spec.rb +1 -1
- data/spec/lib.descope/api/v1/auth/otp_spec.rb +176 -18
- data/spec/lib.descope/api/v1/auth_spec.rb +1 -1
- data/spec/lib.descope/api/v1/management/audit_spec.rb +92 -0
- metadata +25 -133
- data/examples/ruby-on-rails-api/descope/app/assets/builds/reportWebVitals.js +0 -211
- data/examples/ruby-on-rails-api/descope/app/assets/builds/reportWebVitals.js.map +0 -7
@@ -11,14 +11,15 @@ describe Descope::Api::V1::OTP do
|
|
11
11
|
@instance = dummy_instance
|
12
12
|
end
|
13
13
|
|
14
|
+
# Sign In methods
|
14
15
|
context '.sign_in' do
|
15
16
|
it 'is expected to respond to sign in using otp' do
|
16
17
|
expect(@instance).to respond_to(:otp_sign_in)
|
17
18
|
end
|
18
19
|
|
19
|
-
it 'is expected to sign in with otp' do
|
20
|
+
it 'is expected to sign in with otp with email' do
|
20
21
|
request_params = {
|
21
|
-
loginId: '
|
22
|
+
loginId: 'dummy@dummy.com',
|
22
23
|
loginOptions: {
|
23
24
|
stepup: false,
|
24
25
|
customClaims: { 'abc': '123' },
|
@@ -38,7 +39,7 @@ describe Descope::Api::V1::OTP do
|
|
38
39
|
expect do
|
39
40
|
@instance.otp_sign_in(
|
40
41
|
method: DeliveryMethod::EMAIL,
|
41
|
-
login_id: '
|
42
|
+
login_id: 'dummy@dummy.com',
|
42
43
|
login_options: {
|
43
44
|
stepup: false,
|
44
45
|
custom_claims: { 'abc': '123' },
|
@@ -50,15 +51,15 @@ describe Descope::Api::V1::OTP do
|
|
50
51
|
end.not_to raise_error
|
51
52
|
end
|
52
53
|
|
53
|
-
it 'is expected to sign in with otp phone' do
|
54
|
+
it 'is expected to sign in with otp phone SMS' do
|
54
55
|
request_params = {
|
55
|
-
loginId: '
|
56
|
+
loginId: '+12122242225',
|
56
57
|
loginOptions: {
|
57
58
|
stepup: false,
|
58
59
|
customClaims: { 'abc': '123' },
|
59
60
|
mfa: false,
|
60
61
|
ssoAppId: 'sso-id'
|
61
|
-
}
|
62
|
+
}
|
62
63
|
}
|
63
64
|
expect(@instance).to receive(:post).with(
|
64
65
|
otp_compose_signin_url(DeliveryMethod::SMS),
|
@@ -76,7 +77,45 @@ describe Descope::Api::V1::OTP do
|
|
76
77
|
expect do
|
77
78
|
@instance.otp_sign_in(
|
78
79
|
method: DeliveryMethod::SMS,
|
79
|
-
login_id: '
|
80
|
+
login_id: '+12122242225',
|
81
|
+
login_options: {
|
82
|
+
stepup: false,
|
83
|
+
custom_claims: { 'abc': '123' },
|
84
|
+
mfa: false,
|
85
|
+
sso_app_id: 'sso-id'
|
86
|
+
},
|
87
|
+
refresh_token: 'refresh_token'
|
88
|
+
)
|
89
|
+
end.not_to raise_error
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'is expected to sign in with otp Voice' do
|
93
|
+
request_params = {
|
94
|
+
loginId: '+12122242225',
|
95
|
+
loginOptions: {
|
96
|
+
stepup: false,
|
97
|
+
customClaims: { 'abc': '123' },
|
98
|
+
mfa: false,
|
99
|
+
ssoAppId: 'sso-id'
|
100
|
+
}
|
101
|
+
}
|
102
|
+
expect(@instance).to receive(:post).with(
|
103
|
+
otp_compose_signin_url(DeliveryMethod::VOICE),
|
104
|
+
request_params,
|
105
|
+
{},
|
106
|
+
'refresh_token'
|
107
|
+
)
|
108
|
+
|
109
|
+
allow_any_instance_of(Descope::Api::V1::Auth::OTP).to receive(:extract_masked_address).and_return(
|
110
|
+
{
|
111
|
+
'maskedPhone' => '+1******890'
|
112
|
+
}
|
113
|
+
)
|
114
|
+
|
115
|
+
expect do
|
116
|
+
@instance.otp_sign_in(
|
117
|
+
method: DeliveryMethod::VOICE,
|
118
|
+
login_id: '+12122242225',
|
80
119
|
login_options: {
|
81
120
|
stepup: false,
|
82
121
|
custom_claims: { 'abc': '123' },
|
@@ -89,6 +128,7 @@ describe Descope::Api::V1::OTP do
|
|
89
128
|
end
|
90
129
|
end
|
91
130
|
|
131
|
+
# Sign Up methods
|
92
132
|
context '.sign_up' do
|
93
133
|
it 'is expected to respond to otp email sign up' do
|
94
134
|
expect(@instance).to respond_to(:otp_sign_up)
|
@@ -96,7 +136,7 @@ describe Descope::Api::V1::OTP do
|
|
96
136
|
|
97
137
|
it 'is expected to sign up with otp via email' do
|
98
138
|
request_params = {
|
99
|
-
loginId: '
|
139
|
+
loginId: 'user1',
|
100
140
|
user: { loginId: 'user1', email: 'dummy@dummy.com' },
|
101
141
|
email: 'dummy@dummy.com'
|
102
142
|
}
|
@@ -110,18 +150,18 @@ describe Descope::Api::V1::OTP do
|
|
110
150
|
|
111
151
|
expect do
|
112
152
|
@instance.otp_sign_up(
|
113
|
-
login_id: '
|
153
|
+
login_id: 'user1',
|
114
154
|
method: DeliveryMethod::EMAIL,
|
115
155
|
user: { login_id: 'user1', email: 'dummy@dummy.com' }
|
116
156
|
)
|
117
157
|
end.not_to raise_error
|
118
158
|
end
|
119
159
|
|
120
|
-
it 'is expected to sign up with otp via
|
160
|
+
it 'is expected to sign up with otp via SMS' do
|
121
161
|
request_params = {
|
122
|
-
loginId: '
|
123
|
-
user: { loginId: '
|
124
|
-
phone: '
|
162
|
+
loginId: '+1234567890',
|
163
|
+
user: { loginId: '+1234567890' },
|
164
|
+
phone: ''
|
125
165
|
}
|
126
166
|
|
127
167
|
expect(@instance).to receive(:post).with(
|
@@ -133,22 +173,46 @@ describe Descope::Api::V1::OTP do
|
|
133
173
|
|
134
174
|
expect do
|
135
175
|
@instance.otp_sign_up(
|
136
|
-
login_id: '
|
176
|
+
login_id: '+1234567890',
|
137
177
|
method: DeliveryMethod::SMS,
|
138
|
-
user: { login_id: '
|
178
|
+
user: { login_id: '+1234567890' }
|
179
|
+
)
|
180
|
+
end.not_to raise_error
|
181
|
+
end
|
182
|
+
|
183
|
+
it 'is expected to sign up with otp via Voice' do
|
184
|
+
request_params = {
|
185
|
+
loginId: '+1234567890',
|
186
|
+
user: { loginId: '+1234567890', phone: '+1234567890' },
|
187
|
+
phone: '+1234567890'
|
188
|
+
}
|
189
|
+
|
190
|
+
expect(@instance).to receive(:post).with(
|
191
|
+
otp_compose_signup_url(DeliveryMethod::VOICE),
|
192
|
+
request_params
|
193
|
+
).and_return({ 'maskedPhone' => '+1******890' })
|
194
|
+
|
195
|
+
allow_any_instance_of(Descope::Api::V1::Auth).to receive(:extract_masked_address).and_return({})
|
196
|
+
|
197
|
+
expect do
|
198
|
+
@instance.otp_sign_up(
|
199
|
+
login_id: '+1234567890',
|
200
|
+
method: DeliveryMethod::VOICE,
|
201
|
+
user: { login_id: '+1234567890', phone: '+1234567890' }
|
139
202
|
)
|
140
203
|
end.not_to raise_error
|
141
204
|
end
|
142
205
|
end
|
143
206
|
|
207
|
+
# Sign Up or In methods
|
144
208
|
context '.sign_up_or_in' do
|
145
209
|
it 'is expected to respond to sign up' do
|
146
210
|
expect(@instance).to respond_to(:otp_sign_up_or_in)
|
147
211
|
end
|
148
212
|
|
149
|
-
it 'is expected to sign up or in with otp' do
|
213
|
+
it 'is expected to sign up or in with otp via email' do
|
150
214
|
request_params = {
|
151
|
-
loginId: '
|
215
|
+
loginId: 'dummy@dummy.com',
|
152
216
|
loginOptions: {
|
153
217
|
stepup: false,
|
154
218
|
customClaims: { 'abc': '123' },
|
@@ -168,7 +232,79 @@ describe Descope::Api::V1::OTP do
|
|
168
232
|
expect do
|
169
233
|
@instance.otp_sign_up_or_in(
|
170
234
|
method: DeliveryMethod::EMAIL,
|
171
|
-
login_id: '
|
235
|
+
login_id: 'dummy@dummy.com',
|
236
|
+
login_options: {
|
237
|
+
stepup: false,
|
238
|
+
custom_claims: { 'abc': '123' },
|
239
|
+
mfa: false,
|
240
|
+
sso_app_id: 'sso-id'
|
241
|
+
},
|
242
|
+
provider_id: 'provider-id',
|
243
|
+
template_id: 'template-id',
|
244
|
+
sso_app_id: 'sso-id'
|
245
|
+
)
|
246
|
+
end.not_to raise_error
|
247
|
+
end
|
248
|
+
|
249
|
+
it 'is expected to sign up or in with otp via SMS' do
|
250
|
+
request_params = {
|
251
|
+
loginId: '+12122242225',
|
252
|
+
loginOptions: {
|
253
|
+
stepup: false,
|
254
|
+
customClaims: { 'abc': '123' },
|
255
|
+
mfa: false,
|
256
|
+
ssoAppId: 'sso-id'
|
257
|
+
},
|
258
|
+
providerId: 'provider-id',
|
259
|
+
templateId: 'template-id',
|
260
|
+
ssoAppId: 'sso-id'
|
261
|
+
}
|
262
|
+
|
263
|
+
expect(@instance).to receive(:post).with(
|
264
|
+
otp_compose_sign_up_or_in_url(DeliveryMethod::SMS),
|
265
|
+
request_params
|
266
|
+
).and_return({ 'maskedPhone' => '+1******890' })
|
267
|
+
|
268
|
+
expect do
|
269
|
+
@instance.otp_sign_up_or_in(
|
270
|
+
method: DeliveryMethod::SMS,
|
271
|
+
login_id: '+12122242225',
|
272
|
+
login_options: {
|
273
|
+
stepup: false,
|
274
|
+
custom_claims: { 'abc': '123' },
|
275
|
+
mfa: false,
|
276
|
+
sso_app_id: 'sso-id'
|
277
|
+
},
|
278
|
+
provider_id: 'provider-id',
|
279
|
+
template_id: 'template-id',
|
280
|
+
sso_app_id: 'sso-id'
|
281
|
+
)
|
282
|
+
end.not_to raise_error
|
283
|
+
end
|
284
|
+
|
285
|
+
it 'is expected to sign up or in with otp via Voice' do
|
286
|
+
request_params = {
|
287
|
+
loginId: '+12122242225',
|
288
|
+
loginOptions: {
|
289
|
+
stepup: false,
|
290
|
+
customClaims: { 'abc': '123' },
|
291
|
+
mfa: false,
|
292
|
+
ssoAppId: 'sso-id'
|
293
|
+
},
|
294
|
+
providerId: 'provider-id',
|
295
|
+
templateId: 'template-id',
|
296
|
+
ssoAppId: 'sso-id'
|
297
|
+
}
|
298
|
+
|
299
|
+
expect(@instance).to receive(:post).with(
|
300
|
+
otp_compose_sign_up_or_in_url(DeliveryMethod::VOICE),
|
301
|
+
request_params
|
302
|
+
).and_return({ 'maskedPhone' => '+1******890' })
|
303
|
+
|
304
|
+
expect do
|
305
|
+
@instance.otp_sign_up_or_in(
|
306
|
+
method: DeliveryMethod::VOICE,
|
307
|
+
login_id: '+12122242225',
|
172
308
|
login_options: {
|
173
309
|
stepup: false,
|
174
310
|
custom_claims: { 'abc': '123' },
|
@@ -215,6 +351,28 @@ describe Descope::Api::V1::OTP do
|
|
215
351
|
expect(@instance).to respond_to(:otp_update_user_email)
|
216
352
|
end
|
217
353
|
|
354
|
+
it 'raises a validation error' do
|
355
|
+
expect { OTP.otp_update_user_phone(login_id: nil) }
|
356
|
+
.to raise_error('login_id cannot be empty')
|
357
|
+
end
|
358
|
+
|
359
|
+
it 'raises a validation error' do
|
360
|
+
expect { OTP.otp_update_user_phone(login_id: 'someone', phone: nil) }
|
361
|
+
.to raise_error('Phone number cannot be empty')
|
362
|
+
end
|
363
|
+
|
364
|
+
it 'raises a delivery method error with invalid method' do
|
365
|
+
expect do
|
366
|
+
OTP.otp_update_user_phone(login_id: 'abc', phone: '+12124332222', method: 0)
|
367
|
+
end.to raise_error(Descope::AuthException, /Delivery method should be one of the following/)
|
368
|
+
end
|
369
|
+
|
370
|
+
it 'raises a validation error when phone number doesnt match pattern' do
|
371
|
+
expect do
|
372
|
+
OTP.otp_update_user_phone(login_id: 'abc', phone: '-1212a$', method: DeliveryMethod::SMS)
|
373
|
+
end.to raise_error(Descope::AuthException, /Invalid pattern for phone number/)
|
374
|
+
end
|
375
|
+
|
218
376
|
it 'is expected to update email with otp' do
|
219
377
|
request_params = {
|
220
378
|
loginId: 'test',
|
@@ -181,7 +181,7 @@ describe Descope::Api::V1::Auth do
|
|
181
181
|
|
182
182
|
expect do
|
183
183
|
exp_in_seconds = 20
|
184
|
-
puts "Sleeping for #{exp_in_seconds} seconds to test token expiration. Please wait
|
184
|
+
puts "\nAuthSpec.validate_token::Sleeping for #{exp_in_seconds} seconds to test token expiration. Please wait...\n"
|
185
185
|
sleep(exp_in_seconds)
|
186
186
|
@instance.send(:validate_token, token)
|
187
187
|
end.to raise_error(
|
@@ -75,4 +75,96 @@ describe Descope::Api::V1::Management::Audit do
|
|
75
75
|
expect(res['audits'][0]['projectId']).to eq('abc')
|
76
76
|
end
|
77
77
|
end
|
78
|
+
|
79
|
+
context '.create_event' do
|
80
|
+
it 'should respond to .audit_create_event' do
|
81
|
+
expect(@instance).to respond_to :audit_create_event
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'should raise an error if type is not info, warn or error' do
|
85
|
+
expect do
|
86
|
+
@instance.audit_create_event(
|
87
|
+
action: 'get',
|
88
|
+
type: 'debug',
|
89
|
+
data: { key: 'value' },
|
90
|
+
user_id: 'user_id',
|
91
|
+
actor_id: 'actor_id',
|
92
|
+
tenant_id: 'tenant_id'
|
93
|
+
)
|
94
|
+
end.to raise_error(Descope::AuthException, 'type must be either info, warn or error')
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'should raise an error if data is not a hash' do
|
98
|
+
expect do
|
99
|
+
@instance.audit_create_event(
|
100
|
+
action: 'get',
|
101
|
+
type: 'info',
|
102
|
+
data: 'data',
|
103
|
+
user_id: 'user_id',
|
104
|
+
actor_id: 'actor_id',
|
105
|
+
tenant_id: 'tenant_id'
|
106
|
+
)
|
107
|
+
end.to raise_error(Descope::AuthException, 'data must be provided as a key, value Hash')
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'should raise an error if action is not provided' do
|
111
|
+
expect do
|
112
|
+
@instance.audit_create_event(
|
113
|
+
type: 'info',
|
114
|
+
data: { key: 'value' },
|
115
|
+
user_id: 'user_id',
|
116
|
+
actor_id: 'actor_id',
|
117
|
+
tenant_id: 'tenant_id'
|
118
|
+
)
|
119
|
+
end.to raise_error(Descope::AuthException, 'action must be provided')
|
120
|
+
end
|
121
|
+
|
122
|
+
it 'should raise an error if actor is not provided' do
|
123
|
+
expect do
|
124
|
+
@instance.audit_create_event(
|
125
|
+
action: 'get',
|
126
|
+
type: 'info',
|
127
|
+
data: { key: 'value' },
|
128
|
+
user_id: 'user_id',
|
129
|
+
tenant_id: 'tenant_id'
|
130
|
+
)
|
131
|
+
end.to raise_error(Descope::AuthException, 'actor_id must be provided')
|
132
|
+
end
|
133
|
+
|
134
|
+
it 'should raise an error if tenant_id is not provided' do
|
135
|
+
expect do
|
136
|
+
@instance.audit_create_event(
|
137
|
+
action: 'get',
|
138
|
+
type: 'info',
|
139
|
+
data: { key: 'value' },
|
140
|
+
user_id: 'user_id',
|
141
|
+
actor_id: 'actor_id'
|
142
|
+
)
|
143
|
+
end.to raise_error(Descope::AuthException, 'tenant_id must be provided')
|
144
|
+
end
|
145
|
+
|
146
|
+
it 'is expected to create an audit event' do
|
147
|
+
expect(@instance).to receive(:post).with(
|
148
|
+
'/v1/mgmt/audit/event',
|
149
|
+
{
|
150
|
+
action: 'get',
|
151
|
+
type: 'info',
|
152
|
+
actorId: 'actor_id',
|
153
|
+
data: { key: 'value' },
|
154
|
+
tenantId: 'tenant_id',
|
155
|
+
userId: 'user_id'
|
156
|
+
}
|
157
|
+
)
|
158
|
+
expect do
|
159
|
+
@instance.audit_create_event(
|
160
|
+
action: 'get',
|
161
|
+
type: 'info',
|
162
|
+
data: { key: 'value' },
|
163
|
+
user_id: 'user_id',
|
164
|
+
actor_id: 'actor_id',
|
165
|
+
tenant_id: 'tenant_id'
|
166
|
+
)
|
167
|
+
end.not_to raise_error
|
168
|
+
end
|
169
|
+
end
|
78
170
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: descope
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Descope
|
7
|
+
- Descope Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: addressable
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '2.
|
19
|
+
version: '2.8'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '2.
|
26
|
+
version: '2.8'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: jwt
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,33 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.7'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0.12'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0.12'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: addressable
|
42
|
+
name: rest-client
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '2.
|
47
|
+
version: '2.1'
|
62
48
|
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: '2.
|
54
|
+
version: '2.1'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: retryable
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,120 +67,21 @@ dependencies:
|
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '3.0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rake
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '13.0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '13.0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: fuubar
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '2.0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '2.0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rspec
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '3.11'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '3.11'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: simplecov
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0.9'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0.9'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: faker
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '2.0'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - "~>"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '2.0'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: super_diff
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "~>"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '1.0'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - "~>"
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '1.0'
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: concurrent-ruby
|
70
|
+
name: zache
|
183
71
|
requirement: !ruby/object:Gem::Requirement
|
184
72
|
requirements:
|
185
73
|
- - "~>"
|
186
74
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
188
|
-
type: :
|
75
|
+
version: '0.12'
|
76
|
+
type: :runtime
|
189
77
|
prerelease: false
|
190
78
|
version_requirements: !ruby/object:Gem::Requirement
|
191
79
|
requirements:
|
192
80
|
- - "~>"
|
193
81
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
82
|
+
version: '0.12'
|
195
83
|
description: Ruby API Client for Descope API https://descope.com
|
196
|
-
email:
|
197
|
-
- support@descope.com
|
84
|
+
email: support@descope.com
|
198
85
|
executables: []
|
199
86
|
extensions: []
|
200
87
|
extra_rdoc_files: []
|
@@ -259,8 +146,6 @@ files:
|
|
259
146
|
- examples/ruby-on-rails-api/descope/app/assets/builds/controllers/application.js.map
|
260
147
|
- examples/ruby-on-rails-api/descope/app/assets/builds/controllers/index.js
|
261
148
|
- examples/ruby-on-rails-api/descope/app/assets/builds/controllers/index.js.map
|
262
|
-
- examples/ruby-on-rails-api/descope/app/assets/builds/reportWebVitals.js
|
263
|
-
- examples/ruby-on-rails-api/descope/app/assets/builds/reportWebVitals.js.map
|
264
149
|
- examples/ruby-on-rails-api/descope/app/assets/builds/routes/index.css
|
265
150
|
- examples/ruby-on-rails-api/descope/app/assets/builds/routes/index.css.map
|
266
151
|
- examples/ruby-on-rails-api/descope/app/assets/builds/routes/index.js
|
@@ -348,11 +233,13 @@ files:
|
|
348
233
|
- examples/ruby-on-rails-api/descope/tmp/.keep
|
349
234
|
- examples/ruby-on-rails-api/descope/vendor/.keep
|
350
235
|
- examples/ruby-on-rails-api/descope/yarn.lock
|
236
|
+
- examples/ruby/.ruby-version
|
351
237
|
- examples/ruby/Gemfile
|
352
238
|
- examples/ruby/Gemfile.lock
|
353
239
|
- examples/ruby/access_key_app.rb
|
354
240
|
- examples/ruby/enchantedlink_app.rb
|
355
241
|
- examples/ruby/magiclink_app.rb
|
242
|
+
- examples/ruby/management/.ruby-version
|
356
243
|
- examples/ruby/management/Gemfile
|
357
244
|
- examples/ruby/management/Gemfile.lock
|
358
245
|
- examples/ruby/management/access_key_app.rb
|
@@ -368,6 +255,7 @@ files:
|
|
368
255
|
- examples/ruby/otp_app.rb
|
369
256
|
- examples/ruby/password_app.rb
|
370
257
|
- examples/ruby/saml_app.rb
|
258
|
+
- examples/ruby/version_check.rb
|
371
259
|
- lib/descope.rb
|
372
260
|
- lib/descope/api/v1.rb
|
373
261
|
- lib/descope/api/v1/auth.rb
|
@@ -449,7 +337,11 @@ files:
|
|
449
337
|
homepage: https://github.com/descope/descope-ruby-sdk
|
450
338
|
licenses:
|
451
339
|
- MIT
|
452
|
-
metadata:
|
340
|
+
metadata:
|
341
|
+
bug_tracker_uri: https://github.com/descope/descope-ruby-sdk/issues
|
342
|
+
changelog_uri: https://github.com/descope/descope-ruby-sdk/releases/tag/1.0.6
|
343
|
+
documentation_uri: https://docs.descope.com
|
344
|
+
source_code_uri: https://github.com/descope/descope-ruby-sdk/tree/1.0.6
|
453
345
|
post_install_message:
|
454
346
|
rdoc_options: []
|
455
347
|
require_paths:
|
@@ -458,15 +350,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
458
350
|
requirements:
|
459
351
|
- - ">="
|
460
352
|
- !ruby/object:Gem::Version
|
461
|
-
version:
|
353
|
+
version: 3.3.0
|
462
354
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
463
355
|
requirements:
|
464
356
|
- - ">="
|
465
357
|
- !ruby/object:Gem::Version
|
466
|
-
version: '
|
358
|
+
version: '3.5'
|
467
359
|
requirements: []
|
468
360
|
rubygems_version: 3.5.3
|
469
361
|
signing_key:
|
470
362
|
specification_version: 4
|
471
|
-
summary: Descope API Client
|
363
|
+
summary: Descope Ruby API Client
|
472
364
|
test_files: []
|