oktakit 0.1.0

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,363 @@
1
+ module Oktakit
2
+ class Client
3
+ module Apps
4
+ # Add Application
5
+ #
6
+ # @param options[:query] [Hash] Optional. Query params for request
7
+ # @param options[:headers] [Hash] Optional. Header params for the request.
8
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
9
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
10
+ # @param options [Hash] Optional. Body params for request.
11
+ # @return [Hash<Sawyer::Resource>] All responses return the created Application.
12
+ # @see http://developer.okta.com/docs/api/resources/apps.html#add-application
13
+ # @example
14
+ # Oktakit.add_application
15
+ def add_application(options = {})
16
+ post('/apps', options)
17
+ end
18
+
19
+ # Get Application
20
+ #
21
+ # @params id [string] Application ID
22
+ # @param options[:query] [Hash] Optional. Query params for request
23
+ # @param options[:headers] [Hash] Optional. Header params for the request.
24
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
25
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
26
+ # @param options [Hash] Optional. Body params for request.
27
+ # @return [Hash<Sawyer::Resource>] Fetched Application
28
+ # @see http://developer.okta.com/docs/api/resources/apps.html#get-application
29
+ # @example
30
+ # Oktakit.get_application('id')
31
+ def get_application(id, options = {})
32
+ get("/apps/#{id}", options)
33
+ end
34
+
35
+ # List Applications
36
+ #
37
+ # @param options[:query] [Hash] Optional. Query params for request
38
+ # @param options[:headers] [Hash] Optional. Header params for the request.
39
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
40
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
41
+ # @param options [Hash] Optional. Body params for request.
42
+ # @return [Array<Sawyer::Resource>] Array of Applications
43
+ # @see http://developer.okta.com/docs/api/resources/apps.html#list-applications
44
+ # @example
45
+ # Oktakit.list_applications
46
+ def list_applications(options = {})
47
+ get('/apps', options)
48
+ end
49
+
50
+ # Update Application
51
+ #
52
+ # @params id [string] Application ID
53
+ # @param options[:query] [Hash] Optional. Query params for request
54
+ # @param options[:headers] [Hash] Optional. Header params for the request.
55
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
56
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
57
+ # @param options [Hash] Optional. Body params for request.
58
+ # @return [Hash<Sawyer::Resource>] Updated Application
59
+ # @see http://developer.okta.com/docs/api/resources/apps.html#update-application
60
+ # @example
61
+ # Oktakit.update_application('id')
62
+ def update_application(id, options = {})
63
+ put("/apps/#{id}", options)
64
+ end
65
+
66
+ # Delete Application
67
+ #
68
+ # @params id [string] Application ID
69
+ # @param options[:query] [Hash] Optional. Query params for request
70
+ # @param options[:headers] [Hash] Optional. Header params for the request.
71
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
72
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
73
+ # @param options [Hash] Optional. Body params for request.
74
+ # @return [Hash<Sawyer::Resource>] An empty JSON object {}
75
+ # @see http://developer.okta.com/docs/api/resources/apps.html#delete-application
76
+ # @example
77
+ # Oktakit.delete_application('id')
78
+ def delete_application(id, options = {})
79
+ delete("/apps/#{id}", options)
80
+ end
81
+
82
+ # Activate Application
83
+ #
84
+ # @params id [string] Application ID
85
+ # @param options[:query] [Hash] Optional. Query params for request
86
+ # @param options[:headers] [Hash] Optional. Header params for the request.
87
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
88
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
89
+ # @param options [Hash] Optional. Body params for request.
90
+ # @return [Hash<Sawyer::Resource>] An empty JSON object {}
91
+ # @see http://developer.okta.com/docs/api/resources/apps.html#activate-application
92
+ # @example
93
+ # Oktakit.activate_application('id')
94
+ def activate_application(id, options = {})
95
+ post("/apps/#{id}/lifecycle/activate", options)
96
+ end
97
+
98
+ # Deactivate Application
99
+ #
100
+ # @params id [string] Application ID
101
+ # @param options[:query] [Hash] Optional. Query params for request
102
+ # @param options[:headers] [Hash] Optional. Header params for the request.
103
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
104
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
105
+ # @param options [Hash] Optional. Body params for request.
106
+ # @return [Hash<Sawyer::Resource>] An empty JSON object {}
107
+ # @see http://developer.okta.com/docs/api/resources/apps.html#deactivate-application
108
+ # @example
109
+ # Oktakit.deactivate_application('id')
110
+ def deactivate_application(id, options = {})
111
+ post("/apps/#{id}/lifecycle/deactivate", options)
112
+ end
113
+
114
+ # Assign User to Application for SSO
115
+ #
116
+ # @params id [string] Application ID
117
+ # @param options[:query] [Hash] Optional. Query params for request
118
+ # @param options[:headers] [Hash] Optional. Header params for the request.
119
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
120
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
121
+ # @param options [Hash] Optional. Body params for request.
122
+ # @return [Hash<Sawyer::Resource>] Application User
123
+ # @see http://developer.okta.com/docs/api/resources/apps.html#assign-user-to-application-for-sso
124
+ # @example
125
+ # Oktakit.assign_user_to_application_for_sso('id')
126
+ def assign_user_to_application_for_sso(id, options = {})
127
+ post("/apps/#{id}/users", options)
128
+ end
129
+
130
+ # Assign User to Application for SSO & Provisioning
131
+ #
132
+ # @params od [string] Application ID
133
+ # @param options[:query] [Hash] Optional. Query params for request
134
+ # @param options[:headers] [Hash] Optional. Header params for the request.
135
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
136
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
137
+ # @param options [Hash] Optional. Body params for request.
138
+ # @return [Hash<Sawyer::Resource>] Application User with user profile mappings applied
139
+ # @see http://developer.okta.com/docs/api/resources/apps.html#assign-user-to-application-for-sso--provisioning
140
+ # @example
141
+ # Oktakit.assign_user_to_application_for_sso_provisioning('id')
142
+ def assign_user_to_application_for_sso_provisioning(id, options = {})
143
+ post("/apps/#{id}/users", options)
144
+ end
145
+
146
+ # Get Assigned User for Application
147
+ #
148
+ # @params app_id [string] Application ID
149
+ # @params user_id [string] User ID
150
+ # @param options[:query] [Hash] Optional. Query params for request
151
+ # @param options[:headers] [Hash] Optional. Header params for the request.
152
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
153
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
154
+ # @param options [Hash] Optional. Body params for request.
155
+ # @return [Hash<Sawyer::Resource>] Application User
156
+ # @see http://developer.okta.com/docs/api/resources/apps.html#get-assigned-user-for-application
157
+ # @example
158
+ # Oktakit.get_assigned_user_for_application('user_id', 'app_id')
159
+ def get_assigned_user_for_application(app_id, user_id, options = {})
160
+ get("/apps/#{app_id}/users/#{user_id}", options)
161
+ end
162
+
163
+ # List Users Assigned to Application
164
+ #
165
+ # @params id [string] Application ID
166
+ # @param options[:query] [Hash] Optional. Query params for request
167
+ # @param options[:headers] [Hash] Optional. Header params for the request.
168
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
169
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
170
+ # @param options [Hash] Optional. Body params for request.
171
+ # @return [Array<Sawyer::Resource>] Array of Application Users
172
+ # @see http://developer.okta.com/docs/api/resources/apps.html#list-users-assigned-to-application
173
+ # @example
174
+ # Oktakit.list_users_assigned_to_application('id')
175
+ def list_users_assigned_to_application(id, options = {})
176
+ get("/apps/#{id}/users", options)
177
+ end
178
+
179
+ # Update Application Credentials for Assigned User
180
+ #
181
+ # @params app_id [string] Application ID
182
+ # @params user_id [string] User ID
183
+ # @param options[:query] [Hash] Optional. Query params for request
184
+ # @param options[:headers] [Hash] Optional. Header params for the request.
185
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
186
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
187
+ # @param options [Hash] Optional. Body params for request.
188
+ # @return [Hash<Sawyer::Resource>] Application User
189
+ # @see http://developer.okta.com/docs/api/resources/apps.html#update-application-credentials-for-assigned-user
190
+ # @example
191
+ # Oktakit.update_application_credentials_for_assigned_user('user_id', 'app_id')
192
+ def update_application_credentials_for_assigned_user(app_id, user_id, options = {})
193
+ post("/apps/#{app_id}/users/#{user_id}", options)
194
+ end
195
+
196
+ # Update Application Profile for Assigned User
197
+ #
198
+ # @params app_id [string] Application ID
199
+ # @params user_id [string] User ID
200
+ # @param options[:query] [Hash] Optional. Query params for request
201
+ # @param options[:headers] [Hash] Optional. Header params for the request.
202
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
203
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
204
+ # @param options [Hash] Optional. Body params for request.
205
+ # @return [Hash<Sawyer::Resource>] Application User with user profile mappings applied
206
+ # @see http://developer.okta.com/docs/api/resources/apps.html#update-application-profile-for-assigned-user
207
+ # @example
208
+ # Oktakit.update_application_profile_for_assigned_user('user_id', 'app_id')
209
+ def update_application_profile_for_assigned_user(app_id, user_id, options = {})
210
+ post("/apps/#{app_id}/users/#{user_id}", options)
211
+ end
212
+
213
+ # Remove User from Application
214
+ #
215
+ # @params app_id [string] Application ID
216
+ # @params user_id [string] User ID
217
+ # @param options[:query] [Hash] Optional. Query params for request
218
+ # @param options[:headers] [Hash] Optional. Header params for the request.
219
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
220
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
221
+ # @param options [Hash] Optional. Body params for request.
222
+ # @return [Hash<Sawyer::Resource>] An empty JSON object {}
223
+ # @see http://developer.okta.com/docs/api/resources/apps.html#remove-user-from-application
224
+ # @example
225
+ # Oktakit.remove_user_from_application('user_id', 'app_id')
226
+ def remove_user_from_application(app_id, user_id, options = {})
227
+ delete("/apps/#{app_id}/users/#{user_id}", options)
228
+ end
229
+
230
+ # Assign Group to Application
231
+ #
232
+ # @params app_id [string] Application ID
233
+ # @params group_id [string] Group ID
234
+ # @param options[:query] [Hash] Optional. Query params for request
235
+ # @param options[:headers] [Hash] Optional. Header params for the request.
236
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
237
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
238
+ # @param options [Hash] Optional. Body params for request.
239
+ # @return [Hash<Sawyer::Resource>] All responses return the assigned Application Group.
240
+ # @see http://developer.okta.com/docs/api/resources/apps.html#assign-group-to-application
241
+ # @example
242
+ # Oktakit.assign_group_to_application('group_id', 'app_id')
243
+ def assign_group_to_application(app_id, group_id, options = {})
244
+ put("/apps/#{app_id}/groups/#{group_id}", options)
245
+ end
246
+
247
+ # Get Assigned Group for Application
248
+ #
249
+ # @params app_id [string] Application ID
250
+ # @params group_id [string] Group ID
251
+ # @param options[:query] [Hash] Optional. Query params for request
252
+ # @param options[:headers] [Hash] Optional. Header params for the request.
253
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
254
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
255
+ # @param options [Hash] Optional. Body params for request.
256
+ # @return [Hash<Sawyer::Resource>] Fetched Application Group
257
+ # @see http://developer.okta.com/docs/api/resources/apps.html#get-assigned-group-for-application
258
+ # @example
259
+ # Oktakit.get_assigned_group_for_application('group_id', 'app_id')
260
+ def get_assigned_group_for_application(app_id, group_id, options = {})
261
+ get("/apps/#{app_id}/groups/#{group_id}", options)
262
+ end
263
+
264
+ # List Groups Assigned to Application
265
+ #
266
+ # @params id [string] Application ID
267
+ # @param options[:query] [Hash] Optional. Query params for request
268
+ # @param options[:headers] [Hash] Optional. Header params for the request.
269
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
270
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
271
+ # @param options [Hash] Optional. Body params for request.
272
+ # @return [Array<Sawyer::Resource>] Array of Application Groups
273
+ # @see http://developer.okta.com/docs/api/resources/apps.html#list-groups-assigned-to-application
274
+ # @example
275
+ # Oktakit.list_groups_assigned_to_application('id')
276
+ def list_groups_assigned_to_application(id, options = {})
277
+ get("/apps/#{id}/groups", options)
278
+ end
279
+
280
+ # Remove Group from Application
281
+ #
282
+ # @params app_id [string] Application ID
283
+ # @params group_id [string] Group ID
284
+ # @param options[:query] [Hash] Optional. Query params for request
285
+ # @param options[:headers] [Hash] Optional. Header params for the request.
286
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
287
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
288
+ # @param options [Hash] Optional. Body params for request.
289
+ # @return [Hash<Sawyer::Resource>] An empty JSON object {}
290
+ # @see http://developer.okta.com/docs/api/resources/apps.html#remove-group-from-application
291
+ # @example
292
+ # Oktakit.remove_group_from_application('group_id', 'app_id')
293
+ def remove_group_from_application(app_id, group_id, options = {})
294
+ delete("/apps/#{app_id}/groups/#{group_id}", options)
295
+ end
296
+
297
+ # Generate New Application Key Credential
298
+ #
299
+ # @params app_id [string] Application ID
300
+ # @param options[:query] [Hash] Optional. Query params for request
301
+ # @param options[:headers] [Hash] Optional. Header params for the request.
302
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
303
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
304
+ # @param options [Hash] Optional. Body params for request.
305
+ # @return [Hash<Sawyer::Resource>] Return the generated Application Key Credential.
306
+ # @see http://developer.okta.com/docs/api/resources/apps.html#generate-new-application-key-credential
307
+ # @example
308
+ # Oktakit.generate_new_application_key_credential('app_id')
309
+ def generate_new_application_key_credential(app_id, options = {})
310
+ post("/apps/#{app_id}/credentials/keys/generate", options)
311
+ end
312
+
313
+ # List Key Credentials for Application
314
+ #
315
+ # @params app_id [string] Application ID
316
+ # @param options[:query] [Hash] Optional. Query params for request
317
+ # @param options[:headers] [Hash] Optional. Header params for the request.
318
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
319
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
320
+ # @param options [Hash] Optional. Body params for request.
321
+ # @return [Array<Sawyer::Resource>] Array of Application Key Credential.
322
+ # @see http://developer.okta.com/docs/api/resources/apps.html#list-key-credentials-for-application
323
+ # @example
324
+ # Oktakit.list_key_credentials_for_application('app_id')
325
+ def list_key_credentials_for_application(app_id, options = {})
326
+ get("/apps/#{app_id}/credentials/keys", options)
327
+ end
328
+
329
+ # Get Key Credential for Application
330
+ #
331
+ # @params app_id [string] App ID
332
+ # @params key_id [string] Key ID
333
+ # @param options[:query] [Hash] Optional. Query params for request
334
+ # @param options[:headers] [Hash] Optional. Header params for the request.
335
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
336
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
337
+ # @param options [Hash] Optional. Body params for request.
338
+ # @return [Hash<Sawyer::Resource>] Application Key Credential.
339
+ # @see http://developer.okta.com/docs/api/resources/apps.html#get-key-credential-for-application
340
+ # @example
341
+ # Oktakit.get_key_credential_for_application('app_id', 'key_id')
342
+ def get_key_credential_for_application(app_id, key_id, options = {})
343
+ get("/apps/#{app_id}/credentials/keys/#{key_id}", options)
344
+ end
345
+
346
+ # Preview SAML metadata for Application
347
+ #
348
+ # @params app_id [string] Application ID
349
+ # @param options[:query] [Hash] Optional. Query params for request
350
+ # @param options[:headers] [Hash] Optional. Header params for the request.
351
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
352
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
353
+ # @param options [Hash] Optional. Body params for request.
354
+ # @return [Hash<Sawyer::Resource>] SAML metadata in XML
355
+ # @see http://developer.okta.com/docs/api/resources/apps.html#preview-saml-metadata-for-application
356
+ # @example
357
+ # Oktakit.preview_saml_metadata_for_application('app_id')
358
+ def preview_saml_metadata_for_application(app_id, options = {})
359
+ get("/apps/#{app_id}/sso/saml/metadata", options)
360
+ end
361
+ end
362
+ end
363
+ end
@@ -0,0 +1,20 @@
1
+ module Oktakit
2
+ class Client
3
+ module Events
4
+ # List Events
5
+ #
6
+ # @param options[:query] [Hash] Optional. Query params for request
7
+ # @param options[:headers] [Hash] Optional. Header params for the request.
8
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
9
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
10
+ # @param options [Hash] Optional. Body params for request.
11
+ # @return [Array<Sawyer::Resource>] Array of Events
12
+ # @see http://developer.okta.com/docs/api/resources/events.html#list-events
13
+ # @example
14
+ # Oktakit.list_events
15
+ def list_events(options = {})
16
+ get('/events', options)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,223 @@
1
+ module Oktakit
2
+ class Client
3
+ module Factors
4
+ # Get Factor
5
+ #
6
+ # @params user_id [string] User ID
7
+ # @params factor_id [string] Factor ID
8
+ # @param options[:query] [Hash] Optional. Query params for request
9
+ # @param options[:headers] [Hash] Optional. Header params for the request.
10
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
11
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
12
+ # @param options [Hash] Optional. Body params for request.
13
+ # @return [Hash<Sawyer::Resource>] Factor
14
+ # @see http://developer.okta.com/docs/api/resources/factors.html#get-factor
15
+ # @example
16
+ # Oktakit.get_factor('user_id', 'factor_id')
17
+ def get_factor(user_id, factor_id, options = {})
18
+ get("/users/#{user_id}/factors/#{factor_id}", options)
19
+ end
20
+
21
+ # List Enrolled Factors
22
+ #
23
+ # @params user_id [string] User ID
24
+ # @param options[:query] [Hash] Optional. Query params for request
25
+ # @param options[:headers] [Hash] Optional. Header params for the request.
26
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
27
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
28
+ # @param options [Hash] Optional. Body params for request.
29
+ # @return [Array<Sawyer::Resource>] Array of Factors
30
+ # @see http://developer.okta.com/docs/api/resources/factors.html#list-enrolled-factors
31
+ # @example
32
+ # Oktakit.list_enrolled_factors('user_id')
33
+ def list_enrolled_factors(user_id, options = {})
34
+ get("/users/#{user_id}/factors", options)
35
+ end
36
+
37
+ # List Factors to Enroll
38
+ #
39
+ # @params user_id [string] User ID
40
+ # @param options[:query] [Hash] Optional. Query params for request
41
+ # @param options[:headers] [Hash] Optional. Header params for the request.
42
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
43
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
44
+ # @param options [Hash] Optional. Body params for request.
45
+ # @return [Array<Sawyer::Resource>] Array of Factors
46
+ # @see http://developer.okta.com/docs/api/resources/factors.html#list-factors-to-enroll
47
+ # @example
48
+ # Oktakit.list_factors_to_enroll('user_id')
49
+ def list_factors_to_enroll(user_id, options = {})
50
+ get("/users/#{user_id}/factors/catalog", options)
51
+ end
52
+
53
+ # List Security Questions
54
+ #
55
+ # @params user_id [string] User ID
56
+ # @param options[:query] [Hash] Optional. Query params for request
57
+ # @param options[:headers] [Hash] Optional. Header params for the request.
58
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
59
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
60
+ # @param options [Hash] Optional. Body params for request.
61
+ # @return [Array<Sawyer::Resource>] Array of Questions
62
+ # @see http://developer.okta.com/docs/api/resources/factors.html#list-security-questions
63
+ # @example
64
+ # Oktakit.list_security_questions('user_id')
65
+ def list_security_questions(user_id, options = {})
66
+ get("/users/#{user_id}/factors/questions", options)
67
+ end
68
+
69
+ # Enroll Factor
70
+ #
71
+ # @params user_id [string] User ID
72
+ # @param options[:query] [Hash] Optional. Query params for request
73
+ # @param options[:headers] [Hash] Optional. Header params for the request.
74
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
75
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
76
+ # @param options [Hash] Optional. Body params for request.
77
+ # @return [Hash<Sawyer::Resource>] All responses return the enrolled Factor with a status of either PENDING_ACTIVATION or ACTIVE.
78
+ # @see http://developer.okta.com/docs/api/resources/factors.html#enroll-factor
79
+ # @example
80
+ # Oktakit.enroll_factor('id')
81
+ def enroll_factor(user_id, options = {})
82
+ post("/users/#{user_id}/factors", options)
83
+ end
84
+
85
+ # Activate Factor
86
+ #
87
+ # @params user_id [string] User ID
88
+ # @params factor_id [string] Factor ID
89
+ # @param options[:query] [Hash] Optional. Query params for request
90
+ # @param options[:headers] [Hash] Optional. Header params for the request.
91
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
92
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
93
+ # @param options [Hash] Optional. Body params for request.
94
+ # @return [Hash<Sawyer::Resource>] If the passcode is correct you will receive the Factor with an ACTIVE status.
95
+ # @see http://developer.okta.com/docs/api/resources/factors.html#activate-factor
96
+ # @example
97
+ # Oktakit.activate_factor('user_id', 'factor_id')
98
+ def activate_factor(user_id, factor_id, options = {})
99
+ post("/users/#{user_id}/factors/#{factor_id}/lifecycle/activate", options)
100
+ end
101
+
102
+ # Reset Factor
103
+ #
104
+ # @params user_id [string] User ID
105
+ # @params factor_id [string] Factor ID
106
+ # @param options[:query] [Hash] Optional. Query params for request
107
+ # @param options[:headers] [Hash] Optional. Header params for the request.
108
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
109
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
110
+ # @param options [Hash] Optional. Body params for request.
111
+ # @return 204 No Content
112
+ # @see http://developer.okta.com/docs/api/resources/factors.html#reset-factor
113
+ # @example
114
+ # Oktakit.reset_factor('user_id', 'factor_id')
115
+ def reset_factor(user_id, factor_id, options = {})
116
+ delete("/users/#{user_id}/factors/#{factor_id}", options)
117
+ end
118
+
119
+ # Verify Security Question Factor
120
+ #
121
+ # @params user_id [string] User ID
122
+ # @params factor_id [string] Factor ID
123
+ # @param options[:query] [Hash] Optional. Query params for request
124
+ # @param options[:headers] [Hash] Optional. Header params for the request.
125
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
126
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
127
+ # @param options [Hash] Optional. Body params for request.
128
+ # @return [Hash<Sawyer::Resource>] Verification result
129
+ # @see http://developer.okta.com/docs/api/resources/factors.html#verify-security-question-factor
130
+ # @example
131
+ # Oktakit.verify_security_question_factor('user_id', 'factor_id')
132
+ def verify_security_question_factor(user_id, factor_id, options = {})
133
+ post("/users/#{user_id}/factors/#{factor_id}/verify", options)
134
+ end
135
+
136
+ # Verify SMS Factor
137
+ #
138
+ # @params user_id [string] User ID
139
+ # @params factor_id [string] Factor ID
140
+ # @param options[:query] [Hash] Optional. Query params for request
141
+ # @param options[:headers] [Hash] Optional. Header params for the request.
142
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
143
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
144
+ # @param options [Hash] Optional. Body params for request.
145
+ # @return [Hash<Sawyer::Resource>] Verification result
146
+ # @see http://developer.okta.com/docs/api/resources/factors.html#verify-sms-factor
147
+ # @example
148
+ # Oktakit.verify_sms_factor('user_id', 'factor_id')
149
+ def verify_sms_factor(user_id, factor_id, options = {})
150
+ post("/users/#{user_id}/factors/#{factor_id}/verify", options)
151
+ end
152
+
153
+ # Verify TOTP Factor
154
+ #
155
+ # @params user_id [string] User ID
156
+ # @params factor_id [string] Factor ID
157
+ # @param options[:query] [Hash] Optional. Query params for request
158
+ # @param options[:headers] [Hash] Optional. Header params for the request.
159
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
160
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
161
+ # @param options [Hash] Optional. Body params for request.
162
+ # @return [Hash<Sawyer::Resource>] Verification result
163
+ # @see http://developer.okta.com/docs/api/resources/factors.html#verify-totp-factor
164
+ # @example
165
+ # Oktakit.verify_totp_factor('user_id', 'factor_id')
166
+ def verify_totp_factor(user_id, factor_id, options = {})
167
+ post("/users/#{user_id}/factors/#{factor_id}/verify", options)
168
+ end
169
+
170
+ # Verify Push Factor
171
+ #
172
+ # @params user_id [string] User ID
173
+ # @params factor_id [string] Factor ID
174
+ # @param options[:query] [Hash] Optional. Query params for request
175
+ # @param options[:headers] [Hash] Optional. Header params for the request.
176
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
177
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
178
+ # @param options [Hash] Optional. Body params for request.
179
+ # @return [Hash<Sawyer::Resource>] Verification result (waiting, success, rejected, or timeout)
180
+ # @see http://developer.okta.com/docs/api/resources/factors.html#verify-push-factor
181
+ # @example
182
+ # Oktakit.verify_push_factor('user_id', 'factor_id')
183
+ def verify_push_factor(user_id, factor_id, options = {})
184
+ post("/users/#{user_id}/factors/#{factor_id}/verify", options)
185
+ end
186
+
187
+ # Poll for Verify Transaction Completion
188
+ #
189
+ # @params user_id [string] User ID
190
+ # @params factor_id [string] Factor ID
191
+ # @params transaction_id [string] Transaction ID
192
+ # @param options[:query] [Hash] Optional. Query params for request
193
+ # @param options[:headers] [Hash] Optional. Header params for the request.
194
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
195
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
196
+ # @param options [Hash] Optional. Body params for request.
197
+ # @return [Hash<Sawyer::Resource>] Verification result
198
+ # @see http://developer.okta.com/docs/api/resources/factors.html#poll-for-verify-transaction-completion
199
+ # @example
200
+ # Oktakit.poll_for_verify_transaction_completion('user_id', 'factor_id', 'transaction_id')
201
+ def poll_for_verify_transaction_completion(user_id, factor_id, transaction_id, options = {})
202
+ get("/users/#{user_id}/factors/#{factor_id}/transactions/#{transaction_id}", options)
203
+ end
204
+
205
+ # Verify Token Factor
206
+ #
207
+ # @params user_id [string] User ID
208
+ # @params factor_id [string] Factor ID
209
+ # @param options[:query] [Hash] Optional. Query params for request
210
+ # @param options[:headers] [Hash] Optional. Header params for the request.
211
+ # @param options[:accept] [String] Optional. The content type to accept. Default application/json
212
+ # @param options[:content_type] [String] Optional. The content type for the request. Default application/json
213
+ # @param options [Hash] Optional. Body params for request.
214
+ # @return [Hash<Sawyer::Resource>] Verification result
215
+ # @see http://developer.okta.com/docs/api/resources/factors.html#verify-token-factor
216
+ # @example
217
+ # Oktakit.verify_token_factor('user_id', 'factor_id')
218
+ def verify_token_factor(user_id, factor_id, options = {})
219
+ post("/users/#{user_id}/factors/#{factor_id}/verify", options)
220
+ end
221
+ end
222
+ end
223
+ end