login_radius 11.0.0 → 11.2.2

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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -21
  3. data/README.md +58 -58
  4. data/lib/login_radius/api/account/account_api.rb +581 -581
  5. data/lib/login_radius/api/account/role_api.rb +330 -330
  6. data/lib/login_radius/api/account/sott_api.rb +47 -47
  7. data/lib/login_radius/api/advanced/configuration_api.rb +57 -57
  8. data/lib/login_radius/api/advanced/consent_management_api.rb +161 -161
  9. data/lib/login_radius/api/advanced/custom_object_api.rb +316 -316
  10. data/lib/login_radius/api/advanced/custom_registration_data_api.rb +195 -195
  11. data/lib/login_radius/api/advanced/multi_factor_authentication_api.rb +942 -606
  12. data/lib/login_radius/api/advanced/re_authentication_api.rb +317 -243
  13. data/lib/login_radius/api/advanced/web_hook_api.rb +101 -101
  14. data/lib/login_radius/api/authentication/authentication_api.rb +1036 -989
  15. data/lib/login_radius/api/authentication/one_touch_login_api.rb +160 -160
  16. data/lib/login_radius/api/authentication/password_less_login_api.rb +202 -158
  17. data/lib/login_radius/api/authentication/phone_authentication_api.rb +329 -329
  18. data/lib/login_radius/api/authentication/pin_authentication_api.rb +316 -316
  19. data/lib/login_radius/api/authentication/risk_based_authentication_api.rb +286 -286
  20. data/lib/login_radius/api/authentication/smart_login_api.rb +146 -146
  21. data/lib/login_radius/api/social/native_social_api.rb +255 -255
  22. data/lib/login_radius/api/social/social_api.rb +784 -806
  23. data/lib/login_radius/error.rb +7 -7
  24. data/lib/login_radius/request_client.rb +311 -295
  25. data/lib/login_radius/response.rb +18 -12
  26. data/lib/login_radius/version.rb +2 -2
  27. data/lib/login_radius.rb +30 -30
  28. data/login_radius.gemspec +25 -28
  29. metadata +7 -7
@@ -1,316 +1,316 @@
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
- # PINAuthenticationApi module
9
- class PINAuthenticationApi
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 login a user by pin and session token.
29
- #
30
- # @param login_by_pin_model - Model Class containing Definition of payload for LoginByPin API
31
- # @param session_token - Session Token of user
32
- #
33
- # @return Response containing User Profile Data and access token
34
- # 9.22
35
- def pin_login(login_by_pin_model, session_token)
36
- if login_by_pin_model.blank?
37
- raise LoginRadius::Error.new, getValidationMessage('login_by_pin_model')
38
- end
39
- if isNullOrWhiteSpace(session_token)
40
- raise LoginRadius::Error.new, getValidationMessage('session_token')
41
- end
42
-
43
- query_parameters = {}
44
- query_parameters['apiKey'] = @api_key
45
- query_parameters['session_token'] = session_token
46
-
47
- resource_path = 'identity/v2/auth/login/pin'
48
- post_request(resource_path, query_parameters, login_by_pin_model)
49
- end
50
-
51
- # This API sends the reset pin email to specified email address.
52
- #
53
- # @param forgot_pin_link_by_email_model - Model Class containing Definition for Forgot Pin Link By Email API
54
- # @param email_template - Email template name
55
- # @param reset_pin_url - Reset PIN Url
56
- #
57
- # @return Response containing Definition of Complete Validation data
58
- # 42.1
59
- def send_forgot_pin_email_by_email(forgot_pin_link_by_email_model, email_template = '', reset_pin_url = '')
60
- if forgot_pin_link_by_email_model.blank?
61
- raise LoginRadius::Error.new, getValidationMessage('forgot_pin_link_by_email_model')
62
- end
63
-
64
- query_parameters = {}
65
- query_parameters['apiKey'] = @api_key
66
- unless isNullOrWhiteSpace(email_template)
67
- query_parameters['emailTemplate'] = email_template
68
- end
69
- unless isNullOrWhiteSpace(reset_pin_url)
70
- query_parameters['resetPINUrl'] = reset_pin_url
71
- end
72
-
73
- resource_path = 'identity/v2/auth/pin/forgot/email'
74
- post_request(resource_path, query_parameters, forgot_pin_link_by_email_model)
75
- end
76
-
77
- # This API sends the reset pin email using username.
78
- #
79
- # @param forgot_pin_link_by_user_name_model - Model Class containing Definition for Forgot Pin Link By UserName API
80
- # @param email_template - Email template name
81
- # @param reset_pin_url - Reset PIN Url
82
- #
83
- # @return Response containing Definition of Complete Validation data
84
- # 42.2
85
- def send_forgot_pin_email_by_username(forgot_pin_link_by_user_name_model, email_template = '', reset_pin_url = '')
86
- if forgot_pin_link_by_user_name_model.blank?
87
- raise LoginRadius::Error.new, getValidationMessage('forgot_pin_link_by_user_name_model')
88
- end
89
-
90
- query_parameters = {}
91
- query_parameters['apiKey'] = @api_key
92
- unless isNullOrWhiteSpace(email_template)
93
- query_parameters['emailTemplate'] = email_template
94
- end
95
- unless isNullOrWhiteSpace(reset_pin_url)
96
- query_parameters['resetPINUrl'] = reset_pin_url
97
- end
98
-
99
- resource_path = 'identity/v2/auth/pin/forgot/username'
100
- post_request(resource_path, query_parameters, forgot_pin_link_by_user_name_model)
101
- end
102
-
103
- # This API is used to reset pin using reset token.
104
- #
105
- # @param reset_pin_by_reset_token - Model Class containing Definition of payload for Reset Pin By Reset Token API
106
- #
107
- # @return Response containing Definition of Complete Validation data
108
- # 42.3
109
- def reset_pin_by_reset_token(reset_pin_by_reset_token)
110
- if reset_pin_by_reset_token.blank?
111
- raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_reset_token')
112
- end
113
-
114
- query_parameters = {}
115
- query_parameters['apiKey'] = @api_key
116
-
117
- resource_path = 'identity/v2/auth/pin/reset/token'
118
- put_request(resource_path, query_parameters, reset_pin_by_reset_token)
119
- end
120
-
121
- # This API is used to reset pin using security question answer and email.
122
- #
123
- # @param reset_pin_by_security_question_answer_and_email_model - Model Class containing Definition of payload for Reset Pin By Security Question and Email API
124
- #
125
- # @return Response containing Definition of Complete Validation data
126
- # 42.4
127
- def reset_pin_by_email_and_security_answer(reset_pin_by_security_question_answer_and_email_model)
128
- if reset_pin_by_security_question_answer_and_email_model.blank?
129
- raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_security_question_answer_and_email_model')
130
- end
131
-
132
- query_parameters = {}
133
- query_parameters['apiKey'] = @api_key
134
-
135
- resource_path = 'identity/v2/auth/pin/reset/securityanswer/email'
136
- put_request(resource_path, query_parameters, reset_pin_by_security_question_answer_and_email_model)
137
- end
138
-
139
- # This API is used to reset pin using security question answer and username.
140
- #
141
- # @param reset_pin_by_security_question_answer_and_username_model - Model Class containing Definition of payload for Reset Pin By Security Question and UserName API
142
- #
143
- # @return Response containing Definition of Complete Validation data
144
- # 42.5
145
- def reset_pin_by_username_and_security_answer(reset_pin_by_security_question_answer_and_username_model)
146
- if reset_pin_by_security_question_answer_and_username_model.blank?
147
- raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_security_question_answer_and_username_model')
148
- end
149
-
150
- query_parameters = {}
151
- query_parameters['apiKey'] = @api_key
152
-
153
- resource_path = 'identity/v2/auth/pin/reset/securityanswer/username'
154
- put_request(resource_path, query_parameters, reset_pin_by_security_question_answer_and_username_model)
155
- end
156
-
157
- # This API is used to reset pin using security question answer and phone.
158
- #
159
- # @param reset_pin_by_security_question_answer_and_phone_model - Model Class containing Definition of payload for Reset Pin By Security Question and Phone API
160
- #
161
- # @return Response containing Definition of Complete Validation data
162
- # 42.6
163
- def reset_pin_by_phone_and_security_answer(reset_pin_by_security_question_answer_and_phone_model)
164
- if reset_pin_by_security_question_answer_and_phone_model.blank?
165
- raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_security_question_answer_and_phone_model')
166
- end
167
-
168
- query_parameters = {}
169
- query_parameters['apiKey'] = @api_key
170
-
171
- resource_path = 'identity/v2/auth/pin/reset/securityanswer/phone'
172
- put_request(resource_path, query_parameters, reset_pin_by_security_question_answer_and_phone_model)
173
- end
174
-
175
- # This API sends the OTP to specified phone number
176
- #
177
- # @param forgot_pin_otp_by_phone_model - Model Class containing Definition for Forgot Pin Otp By Phone API
178
- # @param sms_template -
179
- #
180
- # @return Response Containing Validation Data and SMS Data
181
- # 42.7
182
- def send_forgot_pin_sms_by_phone(forgot_pin_otp_by_phone_model, sms_template = '')
183
- if forgot_pin_otp_by_phone_model.blank?
184
- raise LoginRadius::Error.new, getValidationMessage('forgot_pin_otp_by_phone_model')
185
- end
186
-
187
- query_parameters = {}
188
- query_parameters['apiKey'] = @api_key
189
- unless isNullOrWhiteSpace(sms_template)
190
- query_parameters['smsTemplate'] = sms_template
191
- end
192
-
193
- resource_path = 'identity/v2/auth/pin/forgot/otp'
194
- post_request(resource_path, query_parameters, forgot_pin_otp_by_phone_model)
195
- end
196
-
197
- # This API is used to change a user's PIN using access token.
198
- #
199
- # @param access_token - Uniquely generated identifier key by LoginRadius that is activated after successful authentication.
200
- # @param change_pin_model - Model Class containing Definition for change PIN Property
201
- #
202
- # @return Response containing Definition of Complete Validation data
203
- # 42.8
204
- def change_pin_by_access_token(access_token, change_pin_model)
205
- if isNullOrWhiteSpace(access_token)
206
- raise LoginRadius::Error.new, getValidationMessage('access_token')
207
- end
208
- if change_pin_model.blank?
209
- raise LoginRadius::Error.new, getValidationMessage('change_pin_model')
210
- end
211
-
212
- query_parameters = {}
213
- query_parameters['access_token'] = access_token
214
- query_parameters['apiKey'] = @api_key
215
-
216
- resource_path = 'identity/v2/auth/pin/change'
217
- put_request(resource_path, query_parameters, change_pin_model)
218
- end
219
-
220
- # This API is used to reset pin using phoneId and OTP.
221
- #
222
- # @param reset_pin_by_phone_and_otp_model - Model Class containing Definition of payload for Reset Pin By Phone and Otp API
223
- #
224
- # @return Response containing Definition of Complete Validation data
225
- # 42.9
226
- def reset_pin_by_phone_and_otp(reset_pin_by_phone_and_otp_model)
227
- if reset_pin_by_phone_and_otp_model.blank?
228
- raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_phone_and_otp_model')
229
- end
230
-
231
- query_parameters = {}
232
- query_parameters['apiKey'] = @api_key
233
-
234
- resource_path = 'identity/v2/auth/pin/reset/otp/phone'
235
- put_request(resource_path, query_parameters, reset_pin_by_phone_and_otp_model)
236
- end
237
-
238
- # This API is used to reset pin using email and OTP.
239
- #
240
- # @param reset_pin_by_email_and_otp_model - Model Class containing Definition of payload for Reset Pin By Email and Otp API
241
- #
242
- # @return Response containing Definition of Complete Validation data
243
- # 42.10
244
- def reset_pin_by_email_and_otp(reset_pin_by_email_and_otp_model)
245
- if reset_pin_by_email_and_otp_model.blank?
246
- raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_email_and_otp_model')
247
- end
248
-
249
- query_parameters = {}
250
- query_parameters['apiKey'] = @api_key
251
-
252
- resource_path = 'identity/v2/auth/pin/reset/otp/email'
253
- put_request(resource_path, query_parameters, reset_pin_by_email_and_otp_model)
254
- end
255
-
256
- # This API is used to reset pin using username and OTP.
257
- #
258
- # @param reset_pin_by_username_and_otp_model - Model Class containing Definition of payload for Reset Pin By Username and Otp API
259
- #
260
- # @return Response containing Definition of Complete Validation data
261
- # 42.11
262
- def reset_pin_by_username_and_otp(reset_pin_by_username_and_otp_model)
263
- if reset_pin_by_username_and_otp_model.blank?
264
- raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_username_and_otp_model')
265
- end
266
-
267
- query_parameters = {}
268
- query_parameters['apiKey'] = @api_key
269
-
270
- resource_path = 'identity/v2/auth/pin/reset/otp/username'
271
- put_request(resource_path, query_parameters, reset_pin_by_username_and_otp_model)
272
- end
273
-
274
- # This API is used to change a user's PIN using Pin Auth token.
275
- #
276
- # @param pin_required_model - Model Class containing Definition for PIN
277
- # @param pin_auth_token - Pin Auth Token
278
- #
279
- # @return Response containing User Profile Data and access token
280
- # 42.12
281
- def set_pin_by_pin_auth_token(pin_required_model, pin_auth_token)
282
- if pin_required_model.blank?
283
- raise LoginRadius::Error.new, getValidationMessage('pin_required_model')
284
- end
285
- if isNullOrWhiteSpace(pin_auth_token)
286
- raise LoginRadius::Error.new, getValidationMessage('pin_auth_token')
287
- end
288
-
289
- query_parameters = {}
290
- query_parameters['apiKey'] = @api_key
291
- query_parameters['pinAuthToken'] = pin_auth_token
292
-
293
- resource_path = 'identity/v2/auth/pin/set/pinauthtoken'
294
- post_request(resource_path, query_parameters, pin_required_model)
295
- end
296
-
297
- # This API is used to invalidate pin session token.
298
- #
299
- # @param session_token - Session Token of user
300
- #
301
- # @return Response containing Definition of Complete Validation data
302
- # 44.1
303
- def in_validate_pin_session_token(session_token)
304
- if isNullOrWhiteSpace(session_token)
305
- raise LoginRadius::Error.new, getValidationMessage('session_token')
306
- end
307
-
308
- query_parameters = {}
309
- query_parameters['apiKey'] = @api_key
310
- query_parameters['session_token'] = session_token
311
-
312
- resource_path = 'identity/v2/auth/session_token/invalidate'
313
- get_request(resource_path, query_parameters, nil)
314
- end
315
- end
316
- end
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
+ # PINAuthenticationApi module
9
+ class PINAuthenticationApi
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 login a user by pin and session token.
29
+ #
30
+ # @param login_by_pin_model - Model Class containing Definition of payload for LoginByPin API
31
+ # @param session_token - Session Token of user
32
+ #
33
+ # @return Response containing User Profile Data and access token
34
+ # 9.22
35
+ def pin_login(login_by_pin_model, session_token)
36
+ if login_by_pin_model.blank?
37
+ raise LoginRadius::Error.new, getValidationMessage('login_by_pin_model')
38
+ end
39
+ if isNullOrWhiteSpace(session_token)
40
+ raise LoginRadius::Error.new, getValidationMessage('session_token')
41
+ end
42
+
43
+ query_parameters = {}
44
+ query_parameters['apiKey'] = @api_key
45
+ query_parameters['session_token'] = session_token
46
+
47
+ resource_path = 'identity/v2/auth/login/pin'
48
+ post_request(resource_path, query_parameters, login_by_pin_model)
49
+ end
50
+
51
+ # This API sends the reset pin email to specified email address.
52
+ #
53
+ # @param forgot_pin_link_by_email_model - Model Class containing Definition for Forgot Pin Link By Email API
54
+ # @param email_template - Email template name
55
+ # @param reset_pin_url - Reset PIN Url
56
+ #
57
+ # @return Response containing Definition of Complete Validation data
58
+ # 42.1
59
+ def send_forgot_pin_email_by_email(forgot_pin_link_by_email_model, email_template = '', reset_pin_url = '')
60
+ if forgot_pin_link_by_email_model.blank?
61
+ raise LoginRadius::Error.new, getValidationMessage('forgot_pin_link_by_email_model')
62
+ end
63
+
64
+ query_parameters = {}
65
+ query_parameters['apiKey'] = @api_key
66
+ unless isNullOrWhiteSpace(email_template)
67
+ query_parameters['emailTemplate'] = email_template
68
+ end
69
+ unless isNullOrWhiteSpace(reset_pin_url)
70
+ query_parameters['resetPINUrl'] = reset_pin_url
71
+ end
72
+
73
+ resource_path = 'identity/v2/auth/pin/forgot/email'
74
+ post_request(resource_path, query_parameters, forgot_pin_link_by_email_model)
75
+ end
76
+
77
+ # This API sends the reset pin email using username.
78
+ #
79
+ # @param forgot_pin_link_by_user_name_model - Model Class containing Definition for Forgot Pin Link By UserName API
80
+ # @param email_template - Email template name
81
+ # @param reset_pin_url - Reset PIN Url
82
+ #
83
+ # @return Response containing Definition of Complete Validation data
84
+ # 42.2
85
+ def send_forgot_pin_email_by_username(forgot_pin_link_by_user_name_model, email_template = '', reset_pin_url = '')
86
+ if forgot_pin_link_by_user_name_model.blank?
87
+ raise LoginRadius::Error.new, getValidationMessage('forgot_pin_link_by_user_name_model')
88
+ end
89
+
90
+ query_parameters = {}
91
+ query_parameters['apiKey'] = @api_key
92
+ unless isNullOrWhiteSpace(email_template)
93
+ query_parameters['emailTemplate'] = email_template
94
+ end
95
+ unless isNullOrWhiteSpace(reset_pin_url)
96
+ query_parameters['resetPINUrl'] = reset_pin_url
97
+ end
98
+
99
+ resource_path = 'identity/v2/auth/pin/forgot/username'
100
+ post_request(resource_path, query_parameters, forgot_pin_link_by_user_name_model)
101
+ end
102
+
103
+ # This API is used to reset pin using reset token.
104
+ #
105
+ # @param reset_pin_by_reset_token - Model Class containing Definition of payload for Reset Pin By Reset Token API
106
+ #
107
+ # @return Response containing Definition of Complete Validation data
108
+ # 42.3
109
+ def reset_pin_by_reset_token(reset_pin_by_reset_token)
110
+ if reset_pin_by_reset_token.blank?
111
+ raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_reset_token')
112
+ end
113
+
114
+ query_parameters = {}
115
+ query_parameters['apiKey'] = @api_key
116
+
117
+ resource_path = 'identity/v2/auth/pin/reset/token'
118
+ put_request(resource_path, query_parameters, reset_pin_by_reset_token)
119
+ end
120
+
121
+ # This API is used to reset pin using security question answer and email.
122
+ #
123
+ # @param reset_pin_by_security_question_answer_and_email_model - Model Class containing Definition of payload for Reset Pin By Security Question and Email API
124
+ #
125
+ # @return Response containing Definition of Complete Validation data
126
+ # 42.4
127
+ def reset_pin_by_email_and_security_answer(reset_pin_by_security_question_answer_and_email_model)
128
+ if reset_pin_by_security_question_answer_and_email_model.blank?
129
+ raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_security_question_answer_and_email_model')
130
+ end
131
+
132
+ query_parameters = {}
133
+ query_parameters['apiKey'] = @api_key
134
+
135
+ resource_path = 'identity/v2/auth/pin/reset/securityanswer/email'
136
+ put_request(resource_path, query_parameters, reset_pin_by_security_question_answer_and_email_model)
137
+ end
138
+
139
+ # This API is used to reset pin using security question answer and username.
140
+ #
141
+ # @param reset_pin_by_security_question_answer_and_username_model - Model Class containing Definition of payload for Reset Pin By Security Question and UserName API
142
+ #
143
+ # @return Response containing Definition of Complete Validation data
144
+ # 42.5
145
+ def reset_pin_by_username_and_security_answer(reset_pin_by_security_question_answer_and_username_model)
146
+ if reset_pin_by_security_question_answer_and_username_model.blank?
147
+ raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_security_question_answer_and_username_model')
148
+ end
149
+
150
+ query_parameters = {}
151
+ query_parameters['apiKey'] = @api_key
152
+
153
+ resource_path = 'identity/v2/auth/pin/reset/securityanswer/username'
154
+ put_request(resource_path, query_parameters, reset_pin_by_security_question_answer_and_username_model)
155
+ end
156
+
157
+ # This API is used to reset pin using security question answer and phone.
158
+ #
159
+ # @param reset_pin_by_security_question_answer_and_phone_model - Model Class containing Definition of payload for Reset Pin By Security Question and Phone API
160
+ #
161
+ # @return Response containing Definition of Complete Validation data
162
+ # 42.6
163
+ def reset_pin_by_phone_and_security_answer(reset_pin_by_security_question_answer_and_phone_model)
164
+ if reset_pin_by_security_question_answer_and_phone_model.blank?
165
+ raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_security_question_answer_and_phone_model')
166
+ end
167
+
168
+ query_parameters = {}
169
+ query_parameters['apiKey'] = @api_key
170
+
171
+ resource_path = 'identity/v2/auth/pin/reset/securityanswer/phone'
172
+ put_request(resource_path, query_parameters, reset_pin_by_security_question_answer_and_phone_model)
173
+ end
174
+
175
+ # This API sends the OTP to specified phone number
176
+ #
177
+ # @param forgot_pin_otp_by_phone_model - Model Class containing Definition for Forgot Pin Otp By Phone API
178
+ # @param sms_template -
179
+ #
180
+ # @return Response Containing Validation Data and SMS Data
181
+ # 42.7
182
+ def send_forgot_pin_sms_by_phone(forgot_pin_otp_by_phone_model, sms_template = '')
183
+ if forgot_pin_otp_by_phone_model.blank?
184
+ raise LoginRadius::Error.new, getValidationMessage('forgot_pin_otp_by_phone_model')
185
+ end
186
+
187
+ query_parameters = {}
188
+ query_parameters['apiKey'] = @api_key
189
+ unless isNullOrWhiteSpace(sms_template)
190
+ query_parameters['smsTemplate'] = sms_template
191
+ end
192
+
193
+ resource_path = 'identity/v2/auth/pin/forgot/otp'
194
+ post_request(resource_path, query_parameters, forgot_pin_otp_by_phone_model)
195
+ end
196
+
197
+ # This API is used to change a user's PIN using access token.
198
+ #
199
+ # @param access_token - Uniquely generated identifier key by LoginRadius that is activated after successful authentication.
200
+ # @param change_pin_model - Model Class containing Definition for change PIN Property
201
+ #
202
+ # @return Response containing Definition of Complete Validation data
203
+ # 42.8
204
+ def change_pin_by_access_token(access_token, change_pin_model)
205
+ if isNullOrWhiteSpace(access_token)
206
+ raise LoginRadius::Error.new, getValidationMessage('access_token')
207
+ end
208
+ if change_pin_model.blank?
209
+ raise LoginRadius::Error.new, getValidationMessage('change_pin_model')
210
+ end
211
+
212
+ query_parameters = {}
213
+ query_parameters['access_token'] = access_token
214
+ query_parameters['apiKey'] = @api_key
215
+
216
+ resource_path = 'identity/v2/auth/pin/change'
217
+ put_request(resource_path, query_parameters, change_pin_model)
218
+ end
219
+
220
+ # This API is used to reset pin using phoneId and OTP.
221
+ #
222
+ # @param reset_pin_by_phone_and_otp_model - Model Class containing Definition of payload for Reset Pin By Phone and Otp API
223
+ #
224
+ # @return Response containing Definition of Complete Validation data
225
+ # 42.9
226
+ def reset_pin_by_phone_and_otp(reset_pin_by_phone_and_otp_model)
227
+ if reset_pin_by_phone_and_otp_model.blank?
228
+ raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_phone_and_otp_model')
229
+ end
230
+
231
+ query_parameters = {}
232
+ query_parameters['apiKey'] = @api_key
233
+
234
+ resource_path = 'identity/v2/auth/pin/reset/otp/phone'
235
+ put_request(resource_path, query_parameters, reset_pin_by_phone_and_otp_model)
236
+ end
237
+
238
+ # This API is used to reset pin using email and OTP.
239
+ #
240
+ # @param reset_pin_by_email_and_otp_model - Model Class containing Definition of payload for Reset Pin By Email and Otp API
241
+ #
242
+ # @return Response containing Definition of Complete Validation data
243
+ # 42.10
244
+ def reset_pin_by_email_and_otp(reset_pin_by_email_and_otp_model)
245
+ if reset_pin_by_email_and_otp_model.blank?
246
+ raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_email_and_otp_model')
247
+ end
248
+
249
+ query_parameters = {}
250
+ query_parameters['apiKey'] = @api_key
251
+
252
+ resource_path = 'identity/v2/auth/pin/reset/otp/email'
253
+ put_request(resource_path, query_parameters, reset_pin_by_email_and_otp_model)
254
+ end
255
+
256
+ # This API is used to reset pin using username and OTP.
257
+ #
258
+ # @param reset_pin_by_username_and_otp_model - Model Class containing Definition of payload for Reset Pin By Username and Otp API
259
+ #
260
+ # @return Response containing Definition of Complete Validation data
261
+ # 42.11
262
+ def reset_pin_by_username_and_otp(reset_pin_by_username_and_otp_model)
263
+ if reset_pin_by_username_and_otp_model.blank?
264
+ raise LoginRadius::Error.new, getValidationMessage('reset_pin_by_username_and_otp_model')
265
+ end
266
+
267
+ query_parameters = {}
268
+ query_parameters['apiKey'] = @api_key
269
+
270
+ resource_path = 'identity/v2/auth/pin/reset/otp/username'
271
+ put_request(resource_path, query_parameters, reset_pin_by_username_and_otp_model)
272
+ end
273
+
274
+ # This API is used to change a user's PIN using Pin Auth token.
275
+ #
276
+ # @param pin_required_model - Model Class containing Definition for PIN
277
+ # @param pin_auth_token - Pin Auth Token
278
+ #
279
+ # @return Response containing User Profile Data and access token
280
+ # 42.12
281
+ def set_pin_by_pin_auth_token(pin_required_model, pin_auth_token)
282
+ if pin_required_model.blank?
283
+ raise LoginRadius::Error.new, getValidationMessage('pin_required_model')
284
+ end
285
+ if isNullOrWhiteSpace(pin_auth_token)
286
+ raise LoginRadius::Error.new, getValidationMessage('pin_auth_token')
287
+ end
288
+
289
+ query_parameters = {}
290
+ query_parameters['apiKey'] = @api_key
291
+ query_parameters['pinAuthToken'] = pin_auth_token
292
+
293
+ resource_path = 'identity/v2/auth/pin/set/pinauthtoken'
294
+ post_request(resource_path, query_parameters, pin_required_model)
295
+ end
296
+
297
+ # This API is used to invalidate pin session token.
298
+ #
299
+ # @param session_token - Session Token of user
300
+ #
301
+ # @return Response containing Definition of Complete Validation data
302
+ # 44.1
303
+ def in_validate_pin_session_token(session_token)
304
+ if isNullOrWhiteSpace(session_token)
305
+ raise LoginRadius::Error.new, getValidationMessage('session_token')
306
+ end
307
+
308
+ query_parameters = {}
309
+ query_parameters['apiKey'] = @api_key
310
+ query_parameters['session_token'] = session_token
311
+
312
+ resource_path = 'identity/v2/auth/session_token/invalidate'
313
+ get_request(resource_path, query_parameters, {})
314
+ end
315
+ end
316
+ end