login_radius 3.0.0 → 10.0.0.pre.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +21 -0
  3. data/README.md +58 -52
  4. data/lib/login_radius.rb +30 -15
  5. data/lib/login_radius/api/account/account_api.rb +581 -0
  6. data/lib/login_radius/api/account/role_api.rb +330 -0
  7. data/lib/login_radius/api/account/sott_api.rb +47 -0
  8. data/lib/login_radius/api/advanced/configuration_api.rb +57 -0
  9. data/lib/login_radius/api/advanced/consent_management_api.rb +161 -0
  10. data/lib/login_radius/api/advanced/custom_object_api.rb +316 -0
  11. data/lib/login_radius/api/advanced/custom_registration_data_api.rb +195 -0
  12. data/lib/login_radius/api/advanced/multi_factor_authentication_api.rb +606 -0
  13. data/lib/login_radius/api/advanced/re_authentication_api.rb +243 -0
  14. data/lib/login_radius/api/advanced/web_hook_api.rb +101 -0
  15. data/lib/login_radius/api/authentication/authentication_api.rb +986 -0
  16. data/lib/login_radius/api/authentication/one_touch_login_api.rb +160 -0
  17. data/lib/login_radius/api/authentication/password_less_login_api.rb +158 -0
  18. data/lib/login_radius/api/authentication/phone_authentication_api.rb +329 -0
  19. data/lib/login_radius/api/authentication/pin_authentication_api.rb +316 -0
  20. data/lib/login_radius/api/authentication/risk_based_authentication_api.rb +286 -0
  21. data/lib/login_radius/api/authentication/smart_login_api.rb +146 -0
  22. data/lib/login_radius/api/social/native_social_api.rb +193 -0
  23. data/lib/login_radius/api/social/social_api.rb +802 -0
  24. data/lib/login_radius/error.rb +7 -0
  25. data/lib/login_radius/request_client.rb +295 -0
  26. data/lib/login_radius/response.rb +12 -0
  27. data/lib/login_radius/version.rb +3 -3
  28. data/login_radius.gemspec +36 -0
  29. metadata +61 -20
  30. data/LICENSE +0 -22
  31. data/lib/hash.rb +0 -12
  32. data/lib/login_radius/advanced_api.rb +0 -133
  33. data/lib/login_radius/authentication_api.rb +0 -597
  34. data/lib/login_radius/exception.rb +0 -4
  35. data/lib/login_radius/management_api.rb +0 -327
  36. data/lib/login_radius/rest_request.rb +0 -142
  37. data/lib/login_radius/social_api.rb +0 -402
  38. data/lib/login_radius/two_fa_api.rb +0 -191
  39. data/lib/string.rb +0 -8
@@ -0,0 +1,330 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Created by LoginRadius Development Team
4
+ # Copyright 2019 LoginRadius Inc. All rights reserved.
5
+ require_relative '../../request_client'
6
+
7
+ module LoginRadius
8
+ # RoleApi module
9
+ class RoleApi
10
+ include RequestClient
11
+
12
+ attr_accessor :site_name, :api_key, :api_secret
13
+
14
+ # Initializes a LoginRadius Account object with an apikey and secret
15
+ # Takes in a hash containing site_name(required), api_key(required), api_secret(required)
16
+ def initialize
17
+ @site_name = ENV['SITE_NAME']
18
+ @api_key = ENV['API_KEY']
19
+ @api_secret = ENV['API_SECRET']
20
+ raise LoginRadius::Error.new, "'site_name' is a required option for Account class initialization." \
21
+ unless @site_name != '' && @site_name != nil
22
+ raise LoginRadius::Error.new, "'api_key' is a required option for Account class initialization." \
23
+ unless @api_key != '' && @api_key != nil
24
+ raise LoginRadius::Error.new, "'api_secret is a required option for Account class initialization." \
25
+ unless @api_secret != '' && @api_secret != nil
26
+ end
27
+
28
+ # API is used to retrieve all the assigned roles of a particular User.
29
+ #
30
+ # @param uid - UID, the unified identifier for each user account
31
+ #
32
+ # @return Response containing Definition of Complete Roles data
33
+ # 18.6
34
+ def get_roles_by_uid(uid)
35
+ if isNullOrWhiteSpace(uid)
36
+ raise LoginRadius::Error.new, getValidationMessage('uid')
37
+ end
38
+
39
+ query_parameters = {}
40
+ query_parameters['apiKey'] = @api_key
41
+ query_parameters['apiSecret'] = @api_secret
42
+
43
+ resource_path = 'identity/v2/manage/account/' + uid + '/role'
44
+ get_request(resource_path, query_parameters, nil)
45
+ end
46
+
47
+ # This API is used to assign your desired roles to a given user.
48
+ #
49
+ # @param account_roles_model - Model Class containing Definition of payload for Create Role API
50
+ # @param uid - UID, the unified identifier for each user account
51
+ #
52
+ # @return Response containing Definition of Complete Roles data
53
+ # 18.7
54
+ def assign_roles_by_uid(account_roles_model, uid)
55
+ if account_roles_model.blank?
56
+ raise LoginRadius::Error.new, getValidationMessage('account_roles_model')
57
+ end
58
+ if isNullOrWhiteSpace(uid)
59
+ raise LoginRadius::Error.new, getValidationMessage('uid')
60
+ end
61
+
62
+ query_parameters = {}
63
+ query_parameters['apiKey'] = @api_key
64
+ query_parameters['apiSecret'] = @api_secret
65
+
66
+ resource_path = 'identity/v2/manage/account/' + uid + '/role'
67
+ put_request(resource_path, query_parameters, account_roles_model)
68
+ end
69
+
70
+ # This API is used to unassign roles from a user.
71
+ #
72
+ # @param account_roles_model - Model Class containing Definition of payload for Create Role API
73
+ # @param uid - UID, the unified identifier for each user account
74
+ #
75
+ # @return Response containing Definition of Delete Request
76
+ # 18.8
77
+ def unassign_roles_by_uid(account_roles_model, uid)
78
+ if account_roles_model.blank?
79
+ raise LoginRadius::Error.new, getValidationMessage('account_roles_model')
80
+ end
81
+ if isNullOrWhiteSpace(uid)
82
+ raise LoginRadius::Error.new, getValidationMessage('uid')
83
+ end
84
+
85
+ query_parameters = {}
86
+ query_parameters['apiKey'] = @api_key
87
+ query_parameters['apiSecret'] = @api_secret
88
+
89
+ resource_path = 'identity/v2/manage/account/' + uid + '/role'
90
+ delete_request(resource_path, query_parameters, account_roles_model)
91
+ end
92
+
93
+ # This API Gets the contexts that have been configured and the associated roles and permissions.
94
+ #
95
+ # @param uid - UID, the unified identifier for each user account
96
+ #
97
+ # @return Complete user RoleContext data
98
+ # 18.9
99
+ def get_role_context_by_uid(uid)
100
+ if isNullOrWhiteSpace(uid)
101
+ raise LoginRadius::Error.new, getValidationMessage('uid')
102
+ end
103
+
104
+ query_parameters = {}
105
+ query_parameters['apiKey'] = @api_key
106
+ query_parameters['apiSecret'] = @api_secret
107
+
108
+ resource_path = 'identity/v2/manage/account/' + uid + '/rolecontext'
109
+ get_request(resource_path, query_parameters, nil)
110
+ end
111
+
112
+ # The API is used to retrieve role context by the context name.
113
+ #
114
+ # @param context_name - Name of context
115
+ #
116
+ # @return Complete user RoleContext data
117
+ # 18.10
118
+ def get_role_context_by_context_name(context_name)
119
+ if isNullOrWhiteSpace(context_name)
120
+ raise LoginRadius::Error.new, getValidationMessage('context_name')
121
+ end
122
+
123
+ query_parameters = {}
124
+ query_parameters['apiKey'] = @api_key
125
+ query_parameters['apiSecret'] = @api_secret
126
+
127
+ resource_path = 'identity/v2/manage/account/rolecontext/' + context_name
128
+ get_request(resource_path, query_parameters, nil)
129
+ end
130
+
131
+ # This API creates a Context with a set of Roles
132
+ #
133
+ # @param account_role_context_model - Model Class containing Definition of RoleContext payload
134
+ # @param uid - UID, the unified identifier for each user account
135
+ #
136
+ # @return Complete user RoleContext data
137
+ # 18.11
138
+ def update_role_context_by_uid(account_role_context_model, uid)
139
+ if account_role_context_model.blank?
140
+ raise LoginRadius::Error.new, getValidationMessage('account_role_context_model')
141
+ end
142
+ if isNullOrWhiteSpace(uid)
143
+ raise LoginRadius::Error.new, getValidationMessage('uid')
144
+ end
145
+
146
+ query_parameters = {}
147
+ query_parameters['apiKey'] = @api_key
148
+ query_parameters['apiSecret'] = @api_secret
149
+
150
+ resource_path = 'identity/v2/manage/account/' + uid + '/rolecontext'
151
+ put_request(resource_path, query_parameters, account_role_context_model)
152
+ end
153
+
154
+ # This API Deletes the specified Role Context
155
+ #
156
+ # @param context_name - Name of context
157
+ # @param uid - UID, the unified identifier for each user account
158
+ #
159
+ # @return Response containing Definition of Delete Request
160
+ # 18.12
161
+ def delete_role_context_by_uid(context_name, uid)
162
+ if isNullOrWhiteSpace(context_name)
163
+ raise LoginRadius::Error.new, getValidationMessage('context_name')
164
+ end
165
+ if isNullOrWhiteSpace(uid)
166
+ raise LoginRadius::Error.new, getValidationMessage('uid')
167
+ end
168
+
169
+ query_parameters = {}
170
+ query_parameters['apiKey'] = @api_key
171
+ query_parameters['apiSecret'] = @api_secret
172
+
173
+ resource_path = 'identity/v2/manage/account/' + uid + '/rolecontext/' + context_name
174
+ delete_request(resource_path, query_parameters, nil)
175
+ end
176
+
177
+ # This API Deletes the specified Role from a Context.
178
+ #
179
+ # @param context_name - Name of context
180
+ # @param role_context_remove_role_model - Model Class containing Definition of payload for RoleContextRemoveRole API
181
+ # @param uid - UID, the unified identifier for each user account
182
+ #
183
+ # @return Response containing Definition of Delete Request
184
+ # 18.13
185
+ def delete_roles_from_role_context_by_uid(context_name, role_context_remove_role_model, uid)
186
+ if isNullOrWhiteSpace(context_name)
187
+ raise LoginRadius::Error.new, getValidationMessage('context_name')
188
+ end
189
+ if role_context_remove_role_model.blank?
190
+ raise LoginRadius::Error.new, getValidationMessage('role_context_remove_role_model')
191
+ end
192
+ if isNullOrWhiteSpace(uid)
193
+ raise LoginRadius::Error.new, getValidationMessage('uid')
194
+ end
195
+
196
+ query_parameters = {}
197
+ query_parameters['apiKey'] = @api_key
198
+ query_parameters['apiSecret'] = @api_secret
199
+
200
+ resource_path = 'identity/v2/manage/account/' + uid + '/rolecontext/' + context_name + '/role'
201
+ delete_request(resource_path, query_parameters, role_context_remove_role_model)
202
+ end
203
+
204
+ # This API Deletes Additional Permissions from Context.
205
+ #
206
+ # @param context_name - Name of context
207
+ # @param role_context_additional_permission_remove_role_model - Model Class containing Definition of payload for RoleContextAdditionalPermissionRemoveRole API
208
+ # @param uid - UID, the unified identifier for each user account
209
+ #
210
+ # @return Response containing Definition of Delete Request
211
+ # 18.14
212
+ def delete_additional_permission_from_role_context_by_uid(context_name, role_context_additional_permission_remove_role_model, uid)
213
+ if isNullOrWhiteSpace(context_name)
214
+ raise LoginRadius::Error.new, getValidationMessage('context_name')
215
+ end
216
+ if role_context_additional_permission_remove_role_model.blank?
217
+ raise LoginRadius::Error.new, getValidationMessage('role_context_additional_permission_remove_role_model')
218
+ end
219
+ if isNullOrWhiteSpace(uid)
220
+ raise LoginRadius::Error.new, getValidationMessage('uid')
221
+ end
222
+
223
+ query_parameters = {}
224
+ query_parameters['apiKey'] = @api_key
225
+ query_parameters['apiSecret'] = @api_secret
226
+
227
+ resource_path = 'identity/v2/manage/account/' + uid + '/rolecontext/' + context_name + '/additionalpermission'
228
+ delete_request(resource_path, query_parameters, role_context_additional_permission_remove_role_model)
229
+ end
230
+
231
+ # This API retrieves the complete list of created roles with permissions of your app.
232
+ #
233
+ #
234
+ # @return Complete user Roles List data
235
+ # 41.1
236
+ def get_roles_list()
237
+
238
+ query_parameters = {}
239
+ query_parameters['apiKey'] = @api_key
240
+ query_parameters['apiSecret'] = @api_secret
241
+
242
+ resource_path = 'identity/v2/manage/role'
243
+ get_request(resource_path, query_parameters, nil)
244
+ end
245
+
246
+ # This API creates a role with permissions.
247
+ #
248
+ # @param roles_model - Model Class containing Definition of payload for Roles API
249
+ #
250
+ # @return Complete user Roles data
251
+ # 41.2
252
+ def create_roles(roles_model)
253
+ if roles_model.blank?
254
+ raise LoginRadius::Error.new, getValidationMessage('roles_model')
255
+ end
256
+
257
+ query_parameters = {}
258
+ query_parameters['apiKey'] = @api_key
259
+ query_parameters['apiSecret'] = @api_secret
260
+
261
+ resource_path = 'identity/v2/manage/role'
262
+ post_request(resource_path, query_parameters, roles_model)
263
+ end
264
+
265
+ # This API is used to delete the role.
266
+ #
267
+ # @param role - Created RoleName
268
+ #
269
+ # @return Response containing Definition of Delete Request
270
+ # 41.3
271
+ def delete_role(role)
272
+ if isNullOrWhiteSpace(role)
273
+ raise LoginRadius::Error.new, getValidationMessage('role')
274
+ end
275
+
276
+ query_parameters = {}
277
+ query_parameters['apiKey'] = @api_key
278
+ query_parameters['apiSecret'] = @api_secret
279
+
280
+ resource_path = 'identity/v2/manage/role/' + role
281
+ delete_request(resource_path, query_parameters, nil)
282
+ end
283
+
284
+ # This API is used to add permissions to a given role.
285
+ #
286
+ # @param permissions_model - Model Class containing Definition for PermissionsModel Property
287
+ # @param role - Created RoleName
288
+ #
289
+ # @return Response containing Definition of Complete role data
290
+ # 41.4
291
+ def add_role_permissions(permissions_model, role)
292
+ if permissions_model.blank?
293
+ raise LoginRadius::Error.new, getValidationMessage('permissions_model')
294
+ end
295
+ if isNullOrWhiteSpace(role)
296
+ raise LoginRadius::Error.new, getValidationMessage('role')
297
+ end
298
+
299
+ query_parameters = {}
300
+ query_parameters['apiKey'] = @api_key
301
+ query_parameters['apiSecret'] = @api_secret
302
+
303
+ resource_path = 'identity/v2/manage/role/' + role + '/permission'
304
+ put_request(resource_path, query_parameters, permissions_model)
305
+ end
306
+
307
+ # API is used to remove permissions from a role.
308
+ #
309
+ # @param permissions_model - Model Class containing Definition for PermissionsModel Property
310
+ # @param role - Created RoleName
311
+ #
312
+ # @return Response containing Definition of Complete role data
313
+ # 41.5
314
+ def remove_role_permissions(permissions_model, role)
315
+ if permissions_model.blank?
316
+ raise LoginRadius::Error.new, getValidationMessage('permissions_model')
317
+ end
318
+ if isNullOrWhiteSpace(role)
319
+ raise LoginRadius::Error.new, getValidationMessage('role')
320
+ end
321
+
322
+ query_parameters = {}
323
+ query_parameters['apiKey'] = @api_key
324
+ query_parameters['apiSecret'] = @api_secret
325
+
326
+ resource_path = 'identity/v2/manage/role/' + role + '/permission'
327
+ delete_request(resource_path, query_parameters, permissions_model)
328
+ end
329
+ end
330
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Created by LoginRadius Development Team
4
+ # Copyright 2019 LoginRadius Inc. All rights reserved.
5
+ require_relative '../../request_client'
6
+
7
+ module LoginRadius
8
+ # SottApi module
9
+ class SottApi
10
+ include RequestClient
11
+
12
+ attr_accessor :site_name, :api_key, :api_secret
13
+
14
+ # Initializes a LoginRadius Account object with an apikey and secret
15
+ # Takes in a hash containing site_name(required), api_key(required), api_secret(required)
16
+ def initialize
17
+ @site_name = ENV['SITE_NAME']
18
+ @api_key = ENV['API_KEY']
19
+ @api_secret = ENV['API_SECRET']
20
+ raise LoginRadius::Error.new, "'site_name' is a required option for Account class initialization." \
21
+ unless @site_name != '' && @site_name != nil
22
+ raise LoginRadius::Error.new, "'api_key' is a required option for Account class initialization." \
23
+ unless @api_key != '' && @api_key != nil
24
+ raise LoginRadius::Error.new, "'api_secret is a required option for Account class initialization." \
25
+ unless @api_secret != '' && @api_secret != nil
26
+ end
27
+
28
+ # This API allows you to generate SOTT with a given expiration time.
29
+ #
30
+ # @param time_difference - The time difference you would like to pass, If you not pass difference then the default value is 10 minutes
31
+ #
32
+ # @return Sott data For Registration
33
+ # 18.28
34
+ def generate_sott(time_difference = '')
35
+
36
+ query_parameters = {}
37
+ query_parameters['apiKey'] = @api_key
38
+ query_parameters['apiSecret'] = @api_secret
39
+ unless time_difference == false
40
+ query_parameters['timeDifference'] = time_difference
41
+ end
42
+
43
+ resource_path = 'identity/v2/manage/account/sott'
44
+ get_request(resource_path, query_parameters, nil)
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Created by LoginRadius Development Team
4
+ # Copyright 2019 LoginRadius Inc. All rights reserved.
5
+ require_relative '../../request_client'
6
+
7
+ module LoginRadius
8
+ # ConfigurationApi module
9
+ class ConfigurationApi
10
+ include RequestClient
11
+
12
+ attr_accessor :site_name, :api_key, :api_secret
13
+
14
+ # Initializes a LoginRadius Account object with an apikey and secret
15
+ # Takes in a hash containing site_name(required), api_key(required), api_secret(required)
16
+ def initialize
17
+ @site_name = ENV['SITE_NAME']
18
+ @api_key = ENV['API_KEY']
19
+ @api_secret = ENV['API_SECRET']
20
+ raise LoginRadius::Error.new, "'site_name' is a required option for Account class initialization." \
21
+ unless @site_name != '' && @site_name != nil
22
+ raise LoginRadius::Error.new, "'api_key' is a required option for Account class initialization." \
23
+ unless @api_key != '' && @api_key != nil
24
+ raise LoginRadius::Error.new, "'api_secret is a required option for Account class initialization." \
25
+ unless @api_secret != '' && @api_secret != nil
26
+ end
27
+ # This API is used to get the configurations which are set in the LoginRadius Dashboard for a particular LoginRadius site/environment
28
+ #
29
+ # @return Response containing LoginRadius App configurations which are set in the LoginRadius Dashboard for a particular LoginRadius site/environment
30
+ # 100
31
+ def get_configurations()
32
+ resource_path = 'ciam/appinfo'
33
+ query_parameters = {}
34
+ query_parameters['apikey'] = @api_key
35
+
36
+ get_request(resource_path, query_parameters, nil)
37
+ end
38
+
39
+ # This API allows you to query your LoginRadius account for basic server information and server time information which is useful when generating an SOTT token.
40
+ #
41
+ # @param time_difference - The time difference you would like to pass, If you not pass difference then the default value is 10 minutes
42
+ #
43
+ # @return Response containing Definition of Complete service info data
44
+ # 3.1
45
+ def get_server_info(time_difference = '')
46
+
47
+ query_parameters = {}
48
+ query_parameters['apiKey'] = @api_key
49
+ unless time_difference == false
50
+ query_parameters['timeDifference'] = time_difference
51
+ end
52
+
53
+ resource_path = 'identity/v2/serverinfo'
54
+ get_request(resource_path, query_parameters, nil)
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Created by LoginRadius Development Team
4
+ # Copyright 2019 LoginRadius Inc. All rights reserved.
5
+ require_relative '../../request_client'
6
+
7
+ module LoginRadius
8
+ # ConsentManagementApi module
9
+ class ConsentManagementApi
10
+ include RequestClient
11
+
12
+ attr_accessor :site_name, :api_key, :api_secret
13
+
14
+ # Initializes a LoginRadius Account object with an apikey and secret
15
+ # Takes in a hash containing site_name(required), api_key(required), api_secret(required)
16
+ def initialize
17
+ @site_name = ENV['SITE_NAME']
18
+ @api_key = ENV['API_KEY']
19
+ @api_secret = ENV['API_SECRET']
20
+ raise LoginRadius::Error.new, "'site_name' is a required option for Account class initialization." \
21
+ unless @site_name != '' && @site_name != nil
22
+ raise LoginRadius::Error.new, "'api_key' is a required option for Account class initialization." \
23
+ unless @api_key != '' && @api_key != nil
24
+ raise LoginRadius::Error.new, "'api_secret is a required option for Account class initialization." \
25
+ unless @api_secret != '' && @api_secret != nil
26
+ end
27
+
28
+ # This API is used to get the Consent logs of the user.
29
+ #
30
+ # @param uid - UID, the unified identifier for each user account
31
+ #
32
+ # @return Response containing consent logs
33
+ # 18.37
34
+ def get_consent_logs_by_uid(uid)
35
+ if isNullOrWhiteSpace(uid)
36
+ raise LoginRadius::Error.new, getValidationMessage('uid')
37
+ end
38
+
39
+ query_parameters = {}
40
+ query_parameters['apiKey'] = @api_key
41
+ query_parameters['apiSecret'] = @api_secret
42
+
43
+ resource_path = 'identity/v2/manage/account/' + uid + '/consent/logs'
44
+ get_request(resource_path, query_parameters, nil)
45
+ end
46
+
47
+ # This API is to submit consent form using consent token.
48
+ #
49
+ # @param consent_token - The consent token received after login error 1226
50
+ # @param consent_submit_model - Model class containing list of multiple consent
51
+ #
52
+ # @return Response containing User Profile Data and access token
53
+ # 43.1
54
+ def submit_consent_by_consent_token(consent_token, consent_submit_model)
55
+ if isNullOrWhiteSpace(consent_token)
56
+ raise LoginRadius::Error.new, getValidationMessage('consent_token')
57
+ end
58
+ if consent_submit_model.blank?
59
+ raise LoginRadius::Error.new, getValidationMessage('consent_submit_model')
60
+ end
61
+
62
+ query_parameters = {}
63
+ query_parameters['apiKey'] = @api_key
64
+ query_parameters['consentToken'] = consent_token
65
+
66
+ resource_path = 'identity/v2/auth/consent'
67
+ post_request(resource_path, query_parameters, consent_submit_model)
68
+ end
69
+
70
+ # This API is used to fetch consent logs.
71
+ #
72
+ # @param access_token - Uniquely generated identifier key by LoginRadius that is activated after successful authentication.
73
+ #
74
+ # @return Response containing consent logs
75
+ # 43.2
76
+ def get_consent_logs(access_token)
77
+ if isNullOrWhiteSpace(access_token)
78
+ raise LoginRadius::Error.new, getValidationMessage('access_token')
79
+ end
80
+
81
+ query_parameters = {}
82
+ query_parameters['access_token'] = access_token
83
+ query_parameters['apiKey'] = @api_key
84
+
85
+ resource_path = 'identity/v2/auth/consent/logs'
86
+ get_request(resource_path, query_parameters, nil)
87
+ end
88
+
89
+ # API to provide a way to end user to submit a consent form for particular event type.
90
+ #
91
+ # @param access_token - Uniquely generated identifier key by LoginRadius that is activated after successful authentication.
92
+ # @param consent_submit_model - Model class containing list of multiple consent
93
+ #
94
+ # @return Response containing Definition for Complete profile data
95
+ # 43.3
96
+ def submit_consent_by_access_token(access_token, consent_submit_model)
97
+ if isNullOrWhiteSpace(access_token)
98
+ raise LoginRadius::Error.new, getValidationMessage('access_token')
99
+ end
100
+ if consent_submit_model.blank?
101
+ raise LoginRadius::Error.new, getValidationMessage('consent_submit_model')
102
+ end
103
+
104
+ query_parameters = {}
105
+ query_parameters['access_token'] = access_token
106
+ query_parameters['apiKey'] = @api_key
107
+
108
+ resource_path = 'identity/v2/auth/consent/profile'
109
+ post_request(resource_path, query_parameters, consent_submit_model)
110
+ end
111
+
112
+ # This API is used to check if consent is submitted for a particular event or not.
113
+ #
114
+ # @param access_token - Uniquely generated identifier key by LoginRadius that is activated after successful authentication.
115
+ # @param event - Allowed events: Login, Register, UpdateProfile, ResetPassword, ChangePassword, emailVerification, AddEmail, RemoveEmail, BlockAccount, DeleteAccount, SetUsername, AssignRoles, UnassignRoles, SetPassword, LinkAccount, UnlinkAccount, UpdatePhoneId, VerifyPhoneNumber, CreateCustomObject, UpdateCustomobject, DeleteCustomObject
116
+ # @param is_custom - true/false
117
+ #
118
+ # @return Response containing consent profile
119
+ # 43.4
120
+ def verify_consent_by_access_token(access_token, event, is_custom)
121
+ if isNullOrWhiteSpace(access_token)
122
+ raise LoginRadius::Error.new, getValidationMessage('access_token')
123
+ end
124
+ if isNullOrWhiteSpace(event)
125
+ raise LoginRadius::Error.new, getValidationMessage('event')
126
+ end
127
+
128
+ query_parameters = {}
129
+ query_parameters['access_token'] = access_token
130
+ query_parameters['apiKey'] = @api_key
131
+ query_parameters['event'] = event
132
+ query_parameters['isCustom'] = is_custom
133
+
134
+ resource_path = 'identity/v2/auth/consent/verify'
135
+ get_request(resource_path, query_parameters, nil)
136
+ end
137
+
138
+ # This API is to update consents using access token.
139
+ #
140
+ # @param access_token - Uniquely generated identifier key by LoginRadius that is activated after successful authentication.
141
+ # @param consent_update_model - Model class containg list of multiple consent
142
+ #
143
+ # @return Response containing consent profile
144
+ # 43.5
145
+ def update_consent_profile_by_access_token(access_token, consent_update_model)
146
+ if isNullOrWhiteSpace(access_token)
147
+ raise LoginRadius::Error.new, getValidationMessage('access_token')
148
+ end
149
+ if consent_update_model.blank?
150
+ raise LoginRadius::Error.new, getValidationMessage('consent_update_model')
151
+ end
152
+
153
+ query_parameters = {}
154
+ query_parameters['access_token'] = access_token
155
+ query_parameters['apiKey'] = @api_key
156
+
157
+ resource_path = 'identity/v2/auth/consent'
158
+ put_request(resource_path, query_parameters, consent_update_model)
159
+ end
160
+ end
161
+ end