simpleokta 0.1.5

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.
@@ -0,0 +1,489 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Simpleokta
4
+ class Client
5
+ module AuthServers
6
+ # AUTH SERVER METHODS
7
+
8
+ # Get an Authorization Server in the okta instance.
9
+ # @param auth_server_id [String] The unique id of the authorization server
10
+ # @return [Hash<Authorization Server Object>]
11
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#authorization-server-object Authorization Server Object
12
+ def auth_server(auth_server_id)
13
+ response = call_with_token(
14
+ 'get',
15
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}"
16
+ )
17
+ JSON.parse(response.body)
18
+ end
19
+
20
+ # Return all Authorization Servers in the okta instance.
21
+ # @return [Array<Authorization Server Object>]
22
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#authorization-server-object Authorization Server Object
23
+ def auth_servers
24
+ response = call_with_token(
25
+ 'get',
26
+ Constants::AUTH_SERVER_API_BASE_PATH
27
+ )
28
+ JSON.parse(response.body)
29
+ end
30
+
31
+ # Create an Authorization Server in the okta instance.
32
+ # @param auth_server_data [Hash] The Authorization Server Object you want to create
33
+ # @return [Hash<Authorization Server Object>]
34
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#create-authorization-server Create Authorization Server
35
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#authorization-server-object Authorization Server Object
36
+ def create_auth_server(auth_server_data)
37
+ response = call_with_token(
38
+ 'post',
39
+ Constants::AUTH_SERVER_API_BASE_PATH,
40
+ auth_server_data
41
+ )
42
+ JSON.parse(response.body)
43
+ end
44
+
45
+ # Update an Authorization Server in the okta instance.
46
+ # @param auth_server_id [String] The unique id of the authorization server
47
+ # @param auth_server_data [Hash] The Authorization Server Object you want to update
48
+ # @return [Hash<Authorization Server Object>]
49
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#update-authorization-server Update Authorization Server
50
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#authorization-server-object Authorization Server Object
51
+ def update_auth_server(auth_server_id, auth_server_data)
52
+ response = call_with_token(
53
+ 'put',
54
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}",
55
+ auth_server_data
56
+ )
57
+ JSON.parse(response.body)
58
+ end
59
+
60
+ # Delete an Authorization Server in the okta instance.
61
+ # @param auth_server_id [String] the unique id of the authorization server
62
+ # @return 204 No Content
63
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#delete-authorization-server Delete Authorization Server
64
+ def delete_auth_server(auth_server_id)
65
+ call_with_token(
66
+ 'delete',
67
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}"
68
+ )
69
+ end
70
+
71
+ # Activate an Authorization Server in the okta instance.
72
+ # @param auth_server_id [String] the unique id of the authorization server
73
+ # @return 204 No Content
74
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#activate-authorization-server Activate Authorization Server
75
+ def activate_auth_server(auth_server_id)
76
+ call_with_token(
77
+ 'post',
78
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/lifecycle/activate"
79
+ )
80
+ end
81
+
82
+ # Deactivate an Authorization Server in the okta instance.
83
+ # @param auth_server_id [String] the unique id of the authorization server
84
+ # @return 204 No Content
85
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#activate-authorization-server Deactivate Authorization Server
86
+ def deactivate_auth_server(auth_server_id)
87
+ call_with_token(
88
+ 'post',
89
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/lifecycle/deactivate"
90
+ )
91
+ end
92
+
93
+ # POLICY METHODS
94
+
95
+ # Return all Policies attached to a given Authorization Server in the okta instance.
96
+ # @param auth_server_id [String] the unique id of the authorization server
97
+ # @return [Array<Policy Object>]
98
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#policy-object Policy Object
99
+ def policies(auth_server_id)
100
+ response = call_with_token(
101
+ 'get',
102
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies"
103
+ )
104
+ JSON.parse(response.body)
105
+ end
106
+
107
+ # Return a specific Policy for a given Authorization Server in the okta instance.
108
+ # @param auth_server_id [String] the unique id of the authorization server
109
+ # @param policy_id [String] the unique id of the policy
110
+ # @return [Hash<Policy Object>]
111
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#policy-object Policy Object
112
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-a-policy Get Policy
113
+ def policy(auth_server_id, _policy_id)
114
+ response = call_with_token(
115
+ 'get',
116
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies"
117
+ )
118
+ JSON.parse(response.body)
119
+ end
120
+
121
+ # Create a Policy for a given Authorization Server
122
+ # @param auth_server_id [String] the unique id of the authorization server
123
+ # @param policy_data [Hash<Policy Object>] the data for the expected Policy
124
+ # @return [Hash<Policy Object>]
125
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#policy-object Policy Object
126
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#create-a-policy Create Policy
127
+ def create_policy(auth_server_id, policy_data)
128
+ response = call_with_token(
129
+ 'post',
130
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies",
131
+ policy_data
132
+ )
133
+ JSON.parse(response.body)
134
+ end
135
+
136
+ # Update a Policy for a given Authorization Server
137
+ # @param auth_server_id [String] the unique id of the authorization server
138
+ # @param policy_id [String] the unique id of the policy
139
+ # @param policy_data [Hash<Policy Object>] the new data for the Policy
140
+ # @return [Hash<Policy Object>]
141
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#policy-object Policy Object
142
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#update-a-policy Update Policy
143
+ def update_policy(auth_server_id, policy_id, policy_data)
144
+ response = call_with_token(
145
+ 'put',
146
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}",
147
+ policy_data
148
+ )
149
+ JSON.parse(response.body)
150
+ end
151
+
152
+ # Delete a Policy for a given Authorization Server
153
+ # @param auth_server_id [String] the unique id of the authorization server
154
+ # @param policy_id [String] the unique id of the policy
155
+ # @return 204 No Content
156
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#policy-object Policy Object
157
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#delete-a-policy Delete Policy
158
+ def delete_policy(auth_server_id, policy_id)
159
+ call_with_token(
160
+ 'delete',
161
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}"
162
+ )
163
+ end
164
+ end
165
+
166
+ # POLICY RULE METHODS
167
+
168
+ # Get all Policy Rules for a given Policy on a given Authorization Server
169
+ # @param auth_server_id [String] the unique id of the authorization server
170
+ # @param policy_id [String] the unique id of the policy
171
+ # @return [Array<Rule Object>]
172
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#rule-object Rule object
173
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-all-policy-rules Get All Policy Rules
174
+ def rules(auth_server_id, policy_id)
175
+ response = call_with_token(
176
+ 'get',
177
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules"
178
+ )
179
+ JSON.parse(response.body)
180
+ end
181
+
182
+ # Get a specific Policy Rule for a given Policy on a given Authorization Server
183
+ # @param auth_server_id [String] the unique id of the authorization server
184
+ # @param policy_id [String] the unique id of the policy
185
+ # @param rule_id [String] the unique id of the rule
186
+ # @return [Hash<Rule Object>]
187
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#rule-object Rule object
188
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-a-policy-rule Get Policy Rule
189
+ def rule(auth_server_id, policy_id, rule_id)
190
+ response = call_with_token(
191
+ 'get',
192
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules/#{rule_id}"
193
+ )
194
+ JSON.parse(response.body)
195
+ end
196
+
197
+ # Create a Policy Rule for a given Policy on a given Authorization Server
198
+ # @param auth_server_id [String] the unique id of the authorization server
199
+ # @param policy_id [String] the unique id of the policy
200
+ # @param rule_data [Hash] the rule object you want to create
201
+ # @return [Hash<Rule Object>]
202
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#rule-object Rule object
203
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#create-a-policy-rule Create Policy Rule
204
+ def create_rule(auth_server_id, policy_id, rule_data)
205
+ response = call_with_token(
206
+ 'post',
207
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules",
208
+ rule_data
209
+ )
210
+ JSON.parse(response.body)
211
+ end
212
+
213
+ # Update a Policy Rule for a given Policy on a given Authorization Server
214
+ # @param auth_server_id [String] the unique id of the authorization server
215
+ # @param policy_id [String] the unique id of the policy
216
+ # @param rule_id [String] the unique id of the rule
217
+ # @param rule_data [Hash] the rule object you want to update
218
+ # @return [Hash<Rule Object>]
219
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#rule-object Rule object
220
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#update-a-policy-rule Update Policy Rule
221
+ def update_rule(auth_server_id, policy_id, rule_id, rule_data)
222
+ response = call_with_token(
223
+ 'put',
224
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules/#{rule_id}",
225
+ rule_data
226
+ )
227
+ JSON.parse(response.body)
228
+ end
229
+
230
+ # Delete a Policy Rule for a given Policy on a given Authorization Server
231
+ # @param auth_server_id [String] the unique id of the authorization server
232
+ # @param policy_id [String] the unique id of the policy
233
+ # @param rule_id [String] the unique id of the rule
234
+ # @return 204 No Content
235
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#rule-object Rule object
236
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#delete-a-policy-rule Delete Policy Rule
237
+ def delete_rule(auth_server_id, policy_id, rule_id)
238
+ call_with_token(
239
+ 'delete',
240
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules/#{rule_id}"
241
+ )
242
+ end
243
+
244
+ # SCOPES METHODS
245
+
246
+ # Get all Scopes defined for a given Authorization Server
247
+ # @param auth_server_id [String] the unique id of the authorization server
248
+ # @return [Array<Scope Object>]
249
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#scope-object Scope Object
250
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-all-scopes Get Scopes
251
+ def scopes(auth_server_id)
252
+ response = call_with_token(
253
+ 'get',
254
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes"
255
+ )
256
+ JSON.parse(response.body)
257
+ end
258
+
259
+ # Get a specific Scope defined for a given Authorization Server
260
+ # @param auth_server_id [String] the unique id of the authorization server
261
+ # @param scope_id [String] the unique id of the scope
262
+ # @return [Hash<Scope Object>]
263
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#scope-object Scope Object
264
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-a-scope Get Scopes
265
+ def scope(auth_server_id, scope_id)
266
+ response = call_with_token(
267
+ 'get',
268
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes/#{scope_id}"
269
+ )
270
+ JSON.parse(response.body)
271
+ end
272
+
273
+ # Create a Scope for a given Authorization Server
274
+ # @param auth_server_id [String] the unique id of the authorization server
275
+ # @param scope_data [Hash<Scope Object>] the data of the scope you wish to create
276
+ # @return [Hash<Scope Object>]
277
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#scope-object Scope Object
278
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#create-a-scope Create Scope
279
+ def create_scope(auth_server_id, scope_data)
280
+ response = call_with_token(
281
+ 'post',
282
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes",
283
+ scope_data
284
+ )
285
+ JSON.parse(response.body)
286
+ end
287
+
288
+ # Update a Scope for a given Authorization Server
289
+ # @param auth_server_id [String] the unique id of the authorization server
290
+ # @param scope_id [String] the unique id of the scope
291
+ # @param scope_data [Hash<Scope Object>] the data of the scope you wish to update
292
+ # @return [Hash<Scope Object>]
293
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#scope-object Scope Object
294
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#update-a-scope Create Scope
295
+ def update_scope(auth_server_id, scope_id, scope_data)
296
+ response = call_with_token(
297
+ 'put',
298
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes/#{scope_id}",
299
+ scope_data
300
+ )
301
+ JSON.parse(response.body)
302
+ end
303
+
304
+ # Delete a Scope for a given Authorization Server
305
+ # @param auth_server_id [String] the unique id of the authorization server
306
+ # @param scope_id [String] the unique id of the scope
307
+ # @return 204 No Content
308
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#scope-object Scope Object
309
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#delete-a-scope Delete Scope
310
+ def delete_scope(auth_server_id, scope_id)
311
+ call_with_token(
312
+ 'delete',
313
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes/#{scope_id}"
314
+ )
315
+ end
316
+
317
+ # CLAIMS METHODS
318
+
319
+ # Get all Claims defined for a given Authorization Server
320
+ # @param auth_server_id [String] the unique id of the authorization server
321
+ # @return [Array<Claim Object>]
322
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#claim-object Claim Object
323
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-all-claims Get Claims
324
+ def claims(auth_server_id)
325
+ response = call_with_token(
326
+ 'get',
327
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims"
328
+ )
329
+ JSON.parse(response.body)
330
+ end
331
+
332
+ # Get a specific Claim defined for a given Authorization Server
333
+ # @param auth_server_id [String] the unique id of the authorization server
334
+ # @param claim_id [String] the unique id of the claim
335
+ # @return [Hash<Claim Object>]
336
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#claim-object Claim Object
337
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-a-claim Get Claim
338
+ def claim(auth_server_id, claim_id)
339
+ response = call_with_token(
340
+ 'get',
341
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims/#{claim_id}"
342
+ )
343
+ JSON.parse(response.body)
344
+ end
345
+
346
+ # Create a Claim for a given Authorization Server
347
+ # @param auth_server_id [String] the unique id of the authorization server
348
+ # @param claim_data [Hash<Claim_Object>] the data of the claim you wish to create
349
+ # @return [Hash<Claim Object>]
350
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#claim-object Claim Object
351
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#create-a-claim Create Claim
352
+ def create_claim(auth_server_id, claim_data)
353
+ response = call_with_token(
354
+ 'post',
355
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims",
356
+ claim_data
357
+ )
358
+ JSON.parse(response.body)
359
+ end
360
+
361
+ # Update a specific Claim defined for a given Authorization Server
362
+ # @param auth_server_id [String] the unique id of the authorization server
363
+ # @param claim_id [String] the unique id of the claim
364
+ # @param claim_data [Hash<Claim_Object>] the data of the claim you wish to create
365
+ # @return [Hash<Claim Object>]
366
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#claim-object Claim Object
367
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#update-a-claim Update Claim
368
+ def update_claim(auth_server_id, claim_id, claim_data)
369
+ response = call_with_token(
370
+ 'put',
371
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims/#{claim_id}",
372
+ claim_data
373
+ )
374
+ JSON.parse(response.body)
375
+ end
376
+
377
+ # Delete a specific Claim defined for a given Authorization Server
378
+ # @param auth_server_id [String] the unique id of the authorization server
379
+ # @param claim_id [String] the unique id of the claim
380
+ # @return 204 No Content
381
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#claim-object Claim Object
382
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#delete-a-claim Delete Claim
383
+ def delete_claim(auth_server_id, claim_id)
384
+ call_with_token(
385
+ 'delete',
386
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims/#{claim_id}"
387
+ )
388
+ end
389
+
390
+ # KEY STORE OPERATIONS
391
+
392
+ # Get all Keys associated with a given Authorization Server
393
+ # @param auth_server_id [String] the unique id of the authorization server
394
+ # @return [Array<Credentials Object>]
395
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#credentials-object Credentials Object
396
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-all-claims Get Authorization Server Keys
397
+ def keys(auth_server_id)
398
+ response = call_with_token(
399
+ 'get',
400
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/credentials/keys"
401
+ )
402
+ JSON.parse(response.body)
403
+ end
404
+
405
+ # Rotate the current Keys associated with a given Authorization Server
406
+ # @param auth_server_id [String] the unique id of the authorization server
407
+ # @return [Array<Credentials Object>]
408
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#credentials-object Credentials Object
409
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-all-claims Rotate Authorization Server Keys
410
+ def rotate_keys(auth_server_id)
411
+ response = call_with_token(
412
+ 'post',
413
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/credentials/lifecycle/keyRotate",
414
+ { 'use': 'sig' }
415
+ )
416
+ JSON.parse(response.body)
417
+ end
418
+
419
+ # CLIENT RESOURCE OPERATIONS
420
+
421
+ # Lists all Client Resources for which the specified Authorization Server has tokens
422
+ # @param auth_server_id [String] the unique id of the authorization server
423
+ # @return [Array<Hash>]
424
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#list-client-resources-for-an-authorization-server List Client Resources for an Authorization Server
425
+ def client_resources(auth_server_id)
426
+ response = call_with_token(
427
+ 'get',
428
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients"
429
+ )
430
+ JSON.parse(response.body)
431
+ end
432
+
433
+ # OAUTH 2.0 TOKEN MGMT OPERATIONS
434
+
435
+ # Lists all Refresh Tokens issued by an Authorization Server for a specific client
436
+ # @param auth_server_id [String] the unique id of the authorization server
437
+ # @param client_id [String] the unique id of the client
438
+ # @return [Array<Hash>]
439
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#list-refresh-tokens List Refresh Tokens
440
+ def refresh_tokens(auth_server_id, client_id)
441
+ response = call_with_token(
442
+ 'get',
443
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients/#{client_id}/tokens"
444
+ )
445
+ JSON.parse(response.body)
446
+ end
447
+
448
+ # Gets a specific Refresh Token issued by an Authorization Server for a specific client
449
+ # @param auth_server_id [String] the unique id of the authorization server
450
+ # @param client_id [String] the unique id of the client
451
+ # @param token_id [String] the unique id of the refresh token
452
+ # @return [Array<Hash>]
453
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#get-refresh-token Get Refresh Tokens
454
+ def refresh_token(auth_server_id, client_id, token_id)
455
+ response = call_with_token(
456
+ 'get',
457
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients/#{client_id}/tokens/#{token_id}"
458
+ )
459
+ JSON.parse(response.body)
460
+ end
461
+
462
+ # Revokes all Refresh Tokens issued by an Authorization Server for a specific client
463
+ # @param auth_server_id [String] the unique id of the authorization server
464
+ # @param client_id [String] the unique id of the client
465
+ # @return 204 No Content
466
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#revoke-all-refresh-tokens Revoke Refresh Tokens
467
+ def revoke_refresh_tokens(auth_server_id, client_id)
468
+ response = call_with_token(
469
+ 'delete',
470
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients/#{client_id}/tokens/#{token_id}"
471
+ )
472
+ JSON.parse(response.body)
473
+ end
474
+
475
+ # Revokes a specific Refresh Token issued by an Authorization Server for a specific client
476
+ # @param auth_server_id [String] the unique id of the authorization server
477
+ # @param client_id [String] the unique id of the client
478
+ # @param token_id [String] the unique id of the refresh token
479
+ # @return 204 No Content
480
+ # @see https://developer.okta.com/docs/reference/api/authorization-servers/#revoke-refresh-token Revoke Refresh Token
481
+ def revoke_refresh_token(auth_server_id, client_id, token_id)
482
+ response = call_with_token(
483
+ 'delete',
484
+ "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients/#{client_id}/tokens/#{token_id}"
485
+ )
486
+ JSON.parse(response.body)
487
+ end
488
+ end
489
+ end