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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/publish-gem.yaml +30 -5
  3. data/Gemfile +3 -3
  4. data/Gemfile.lock +12 -20
  5. data/README.md +18 -3
  6. data/descope.gemspec +25 -20
  7. data/examples/ruby/.ruby-version +1 -0
  8. data/examples/ruby/access_key_app.rb +4 -3
  9. data/examples/ruby/enchantedlink_app.rb +1 -0
  10. data/examples/ruby/magiclink_app.rb +1 -0
  11. data/examples/ruby/management/.ruby-version +1 -0
  12. data/examples/ruby/management/Gemfile +2 -2
  13. data/examples/ruby/management/access_key_app.rb +2 -0
  14. data/examples/ruby/management/audit_app.rb +32 -8
  15. data/examples/ruby/management/authz_app.rb +1 -0
  16. data/examples/ruby/management/flow_app.rb +1 -0
  17. data/examples/ruby/management/permission_app.rb +3 -2
  18. data/examples/ruby/management/role_app.rb +3 -2
  19. data/examples/ruby/management/tenant_app.rb +1 -0
  20. data/examples/ruby/management/user_app.rb +1 -0
  21. data/examples/ruby/oauth_app.rb +1 -0
  22. data/examples/ruby/otp_app.rb +38 -12
  23. data/examples/ruby/password_app.rb +8 -7
  24. data/examples/ruby/saml_app.rb +1 -0
  25. data/examples/ruby/version_check.rb +17 -0
  26. data/examples/ruby-on-rails-api/descope/Gemfile +3 -1
  27. data/examples/ruby-on-rails-api/descope/Gemfile.lock +121 -90
  28. data/examples/ruby-on-rails-api/descope/README.md +18 -18
  29. data/examples/ruby-on-rails-api/descope/app/assets/builds/application.css +20092 -23
  30. data/examples/ruby-on-rails-api/descope/app/assets/builds/application.js +0 -1
  31. data/examples/ruby-on-rails-api/descope/app/assets/builds/components/index.js +0 -14
  32. data/examples/ruby-on-rails-api/descope/package-lock.json +1021 -19306
  33. data/examples/ruby-on-rails-api/descope/package.json +8 -16
  34. data/examples/ruby-on-rails-api/descope/yarn.lock +459 -10641
  35. data/lib/descope/api/v1/auth/otp.rb +21 -14
  36. data/lib/descope/api/v1/auth.rb +17 -20
  37. data/lib/descope/api/v1/management/audit.rb +24 -0
  38. data/lib/descope/api/v1/management/common.rb +1 -0
  39. data/lib/descope/mixins/common.rb +5 -2
  40. data/lib/descope/mixins/validation.rb +21 -6
  41. data/lib/descope/version.rb +1 -1
  42. data/spec/integration/lib.descope/api/v1/auth/otp_spec.rb +72 -7
  43. data/spec/integration/lib.descope/api/v1/management/audit_spec.rb +36 -0
  44. data/spec/integration/lib.descope/api/v1/management/roles_spec.rb +1 -1
  45. data/spec/lib.descope/api/v1/auth/otp_spec.rb +176 -18
  46. data/spec/lib.descope/api/v1/auth_spec.rb +1 -1
  47. data/spec/lib.descope/api/v1/management/audit_spec.rb +92 -0
  48. metadata +25 -133
  49. data/examples/ruby-on-rails-api/descope/app/assets/builds/reportWebVitals.js +0 -211
  50. 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: 'test',
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: 'test',
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: 'test',
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: 'test',
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: 'test',
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: 'test',
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 phone' do
160
+ it 'is expected to sign up with otp via SMS' do
121
161
  request_params = {
122
- loginId: 'test',
123
- user: { loginId: 'user1', phone: '+1234567890' },
124
- phone: '+1234567890'
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: 'test',
176
+ login_id: '+1234567890',
137
177
  method: DeliveryMethod::SMS,
138
- user: { login_id: 'user1', phone: '+1234567890' }
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: 'test',
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: 'test',
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.5
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-03-19 00:00:00.000000000 Z
11
+ date: 2024-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rest-client
14
+ name: addressable
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.1'
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.1'
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: zache
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.8'
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.8'
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: bundler
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: '1.1'
188
- type: :development
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: '1.1'
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: '0'
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: '0'
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: []