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,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
@@ -0,0 +1,286 @@
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
+ # RiskBasedAuthenticationApi module
9
+ class RiskBasedAuthenticationApi
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 retrieves a copy of the user data based on the Email
29
+ #
30
+ # @param email_authentication_model - Model Class containing Definition of payload for Email Authentication API
31
+ # @param email_template - Email template name
32
+ # @param fields - The fields parameter filters the API response so that the response only includes a specific set of fields
33
+ # @param login_url - Url where the user is logging from
34
+ # @param password_delegation - Password Delegation Allows you to use a third-party service to store your passwords rather than LoginRadius Cloud storage.
35
+ # @param password_delegation_app - RiskBased Authentication Password Delegation App
36
+ # @param rba_browser_email_template - Risk Based Authentication Browser EmailTemplate
37
+ # @param rba_browser_sms_template - Risk Based Authentication Browser Sms Template
38
+ # @param rba_city_email_template - Risk Based Authentication City Email Template
39
+ # @param rba_city_sms_template - Risk Based Authentication City SmsTemplate
40
+ # @param rba_country_email_template - Risk Based Authentication Country EmailTemplate
41
+ # @param rba_country_sms_template - Risk Based Authentication Country SmsTemplate
42
+ # @param rba_ip_email_template - Risk Based Authentication Ip EmailTemplate
43
+ # @param rba_ip_sms_template - Risk Based Authentication Ip SmsTemplate
44
+ # @param rba_oneclick_email_template - Risk Based Authentication Oneclick EmailTemplate
45
+ # @param rba_otp_sms_template - Risk Based Authentication Oneclick EmailTemplate
46
+ # @param sms_template - SMS Template name
47
+ # @param verification_url - Email verification url
48
+ #
49
+ # @return Response containing User Profile Data and access token
50
+ # 9.2.4
51
+ def rba_login_by_email(email_authentication_model, email_template = '', fields = '', login_url = '', password_delegation = false, password_delegation_app = '', rba_browser_email_template = '', rba_browser_sms_template = '', rba_city_email_template = '', rba_city_sms_template = '', rba_country_email_template = '', rba_country_sms_template = '', rba_ip_email_template = '', rba_ip_sms_template = '', rba_oneclick_email_template = '', rba_otp_sms_template = '', sms_template = '', verification_url = '')
52
+ if email_authentication_model.blank?
53
+ raise LoginRadius::Error.new, getValidationMessage('email_authentication_model')
54
+ end
55
+
56
+ query_parameters = {}
57
+ query_parameters['apiKey'] = @api_key
58
+ unless isNullOrWhiteSpace(email_template)
59
+ query_parameters['emailTemplate'] = email_template
60
+ end
61
+ unless isNullOrWhiteSpace(fields)
62
+ query_parameters['fields'] = fields
63
+ end
64
+ unless isNullOrWhiteSpace(login_url)
65
+ query_parameters['loginUrl'] = login_url
66
+ end
67
+ unless password_delegation == false
68
+ query_parameters['passwordDelegation'] = password_delegation
69
+ end
70
+ unless isNullOrWhiteSpace(password_delegation_app)
71
+ query_parameters['passwordDelegationApp'] = password_delegation_app
72
+ end
73
+ unless isNullOrWhiteSpace(rba_browser_email_template)
74
+ query_parameters['rbaBrowserEmailTemplate'] = rba_browser_email_template
75
+ end
76
+ unless isNullOrWhiteSpace(rba_browser_sms_template)
77
+ query_parameters['rbaBrowserSmsTemplate'] = rba_browser_sms_template
78
+ end
79
+ unless isNullOrWhiteSpace(rba_city_email_template)
80
+ query_parameters['rbaCityEmailTemplate'] = rba_city_email_template
81
+ end
82
+ unless isNullOrWhiteSpace(rba_city_sms_template)
83
+ query_parameters['rbaCitySmsTemplate'] = rba_city_sms_template
84
+ end
85
+ unless isNullOrWhiteSpace(rba_country_email_template)
86
+ query_parameters['rbaCountryEmailTemplate'] = rba_country_email_template
87
+ end
88
+ unless isNullOrWhiteSpace(rba_country_sms_template)
89
+ query_parameters['rbaCountrySmsTemplate'] = rba_country_sms_template
90
+ end
91
+ unless isNullOrWhiteSpace(rba_ip_email_template)
92
+ query_parameters['rbaIpEmailTemplate'] = rba_ip_email_template
93
+ end
94
+ unless isNullOrWhiteSpace(rba_ip_sms_template)
95
+ query_parameters['rbaIpSmsTemplate'] = rba_ip_sms_template
96
+ end
97
+ unless isNullOrWhiteSpace(rba_oneclick_email_template)
98
+ query_parameters['rbaOneclickEmailTemplate'] = rba_oneclick_email_template
99
+ end
100
+ unless isNullOrWhiteSpace(rba_otp_sms_template)
101
+ query_parameters['rbaOTPSmsTemplate'] = rba_otp_sms_template
102
+ end
103
+ unless isNullOrWhiteSpace(sms_template)
104
+ query_parameters['smsTemplate'] = sms_template
105
+ end
106
+ unless isNullOrWhiteSpace(verification_url)
107
+ query_parameters['verificationUrl'] = verification_url
108
+ end
109
+
110
+ resource_path = 'identity/v2/auth/login'
111
+ post_request(resource_path, query_parameters, email_authentication_model)
112
+ end
113
+
114
+ # This API retrieves a copy of the user data based on the Username
115
+ #
116
+ # @param user_name_authentication_model - Model Class containing Definition of payload for Username Authentication API
117
+ # @param email_template - Email template name
118
+ # @param fields - The fields parameter filters the API response so that the response only includes a specific set of fields
119
+ # @param login_url - Url where the user is logging from
120
+ # @param password_delegation - Password Delegation Allows you to use a third-party service to store your passwords rather than LoginRadius Cloud storage.
121
+ # @param password_delegation_app - RiskBased Authentication Password Delegation App
122
+ # @param rba_browser_email_template - Risk Based Authentication Browser EmailTemplate
123
+ # @param rba_browser_sms_template - Risk Based Authentication Browser Sms Template
124
+ # @param rba_city_email_template - Risk Based Authentication City Email Template
125
+ # @param rba_city_sms_template - Risk Based Authentication City SmsTemplate
126
+ # @param rba_country_email_template - Risk Based Authentication Country EmailTemplate
127
+ # @param rba_country_sms_template - Risk Based Authentication Country SmsTemplate
128
+ # @param rba_ip_email_template - Risk Based Authentication Ip EmailTemplate
129
+ # @param rba_ip_sms_template - Risk Based Authentication Ip SmsTemplate
130
+ # @param rba_oneclick_email_template - Risk Based Authentication Oneclick EmailTemplate
131
+ # @param rba_otp_sms_template - Risk Based Authentication OTPSmsTemplate
132
+ # @param sms_template - SMS Template name
133
+ # @param verification_url - Email verification url
134
+ #
135
+ # @return Response containing User Profile Data and access token
136
+ # 9.2.5
137
+ def rba_login_by_user_name(user_name_authentication_model, email_template = '', fields = '', login_url = '', password_delegation = false, password_delegation_app = '', rba_browser_email_template = '', rba_browser_sms_template = '', rba_city_email_template = '', rba_city_sms_template = '', rba_country_email_template = '', rba_country_sms_template = '', rba_ip_email_template = '', rba_ip_sms_template = '', rba_oneclick_email_template = '', rba_otp_sms_template = '', sms_template = '', verification_url = '')
138
+ if user_name_authentication_model.blank?
139
+ raise LoginRadius::Error.new, getValidationMessage('user_name_authentication_model')
140
+ end
141
+
142
+ query_parameters = {}
143
+ query_parameters['apiKey'] = @api_key
144
+ unless isNullOrWhiteSpace(email_template)
145
+ query_parameters['emailTemplate'] = email_template
146
+ end
147
+ unless isNullOrWhiteSpace(fields)
148
+ query_parameters['fields'] = fields
149
+ end
150
+ unless isNullOrWhiteSpace(login_url)
151
+ query_parameters['loginUrl'] = login_url
152
+ end
153
+ unless password_delegation == false
154
+ query_parameters['passwordDelegation'] = password_delegation
155
+ end
156
+ unless isNullOrWhiteSpace(password_delegation_app)
157
+ query_parameters['passwordDelegationApp'] = password_delegation_app
158
+ end
159
+ unless isNullOrWhiteSpace(rba_browser_email_template)
160
+ query_parameters['rbaBrowserEmailTemplate'] = rba_browser_email_template
161
+ end
162
+ unless isNullOrWhiteSpace(rba_browser_sms_template)
163
+ query_parameters['rbaBrowserSmsTemplate'] = rba_browser_sms_template
164
+ end
165
+ unless isNullOrWhiteSpace(rba_city_email_template)
166
+ query_parameters['rbaCityEmailTemplate'] = rba_city_email_template
167
+ end
168
+ unless isNullOrWhiteSpace(rba_city_sms_template)
169
+ query_parameters['rbaCitySmsTemplate'] = rba_city_sms_template
170
+ end
171
+ unless isNullOrWhiteSpace(rba_country_email_template)
172
+ query_parameters['rbaCountryEmailTemplate'] = rba_country_email_template
173
+ end
174
+ unless isNullOrWhiteSpace(rba_country_sms_template)
175
+ query_parameters['rbaCountrySmsTemplate'] = rba_country_sms_template
176
+ end
177
+ unless isNullOrWhiteSpace(rba_ip_email_template)
178
+ query_parameters['rbaIpEmailTemplate'] = rba_ip_email_template
179
+ end
180
+ unless isNullOrWhiteSpace(rba_ip_sms_template)
181
+ query_parameters['rbaIpSmsTemplate'] = rba_ip_sms_template
182
+ end
183
+ unless isNullOrWhiteSpace(rba_oneclick_email_template)
184
+ query_parameters['rbaOneclickEmailTemplate'] = rba_oneclick_email_template
185
+ end
186
+ unless isNullOrWhiteSpace(rba_otp_sms_template)
187
+ query_parameters['rbaOTPSmsTemplate'] = rba_otp_sms_template
188
+ end
189
+ unless isNullOrWhiteSpace(sms_template)
190
+ query_parameters['smsTemplate'] = sms_template
191
+ end
192
+ unless isNullOrWhiteSpace(verification_url)
193
+ query_parameters['verificationUrl'] = verification_url
194
+ end
195
+
196
+ resource_path = 'identity/v2/auth/login'
197
+ post_request(resource_path, query_parameters, user_name_authentication_model)
198
+ end
199
+
200
+ # This API retrieves a copy of the user data based on the Phone
201
+ #
202
+ # @param phone_authentication_model - Model Class containing Definition of payload for PhoneAuthenticationModel API
203
+ # @param email_template - Email template name
204
+ # @param fields - The fields parameter filters the API response so that the response only includes a specific set of fields
205
+ # @param login_url - Url where the user is logging from
206
+ # @param password_delegation - Password Delegation Allows you to use a third-party service to store your passwords rather than LoginRadius Cloud storage.
207
+ # @param password_delegation_app - RiskBased Authentication Password Delegation App
208
+ # @param rba_browser_email_template - Risk Based Authentication Browser EmailTemplate
209
+ # @param rba_browser_sms_template - Risk Based Authentication Browser Sms Template
210
+ # @param rba_city_email_template - Risk Based Authentication City Email Template
211
+ # @param rba_city_sms_template - Risk Based Authentication City SmsTemplate
212
+ # @param rba_country_email_template - Risk Based Authentication Country EmailTemplate
213
+ # @param rba_country_sms_template - Risk Based Authentication Country SmsTemplate
214
+ # @param rba_ip_email_template - Risk Based Authentication Ip EmailTemplate
215
+ # @param rba_ip_sms_template - Risk Based Authentication Ip SmsTemplate
216
+ # @param rba_oneclick_email_template - Risk Based Authentication Oneclick EmailTemplate
217
+ # @param rba_otp_sms_template - Risk Based Authentication OTPSmsTemplate
218
+ # @param sms_template - SMS Template name
219
+ # @param verification_url - Email verification url
220
+ #
221
+ # @return Response containing User Profile Data and access token
222
+ # 9.2.6
223
+ def rba_login_by_phone(phone_authentication_model, email_template = '', fields = '', login_url = '', password_delegation = false, password_delegation_app = '', rba_browser_email_template = '', rba_browser_sms_template = '', rba_city_email_template = '', rba_city_sms_template = '', rba_country_email_template = '', rba_country_sms_template = '', rba_ip_email_template = '', rba_ip_sms_template = '', rba_oneclick_email_template = '', rba_otp_sms_template = '', sms_template = '', verification_url = '')
224
+ if phone_authentication_model.blank?
225
+ raise LoginRadius::Error.new, getValidationMessage('phone_authentication_model')
226
+ end
227
+
228
+ query_parameters = {}
229
+ query_parameters['apiKey'] = @api_key
230
+ unless isNullOrWhiteSpace(email_template)
231
+ query_parameters['emailTemplate'] = email_template
232
+ end
233
+ unless isNullOrWhiteSpace(fields)
234
+ query_parameters['fields'] = fields
235
+ end
236
+ unless isNullOrWhiteSpace(login_url)
237
+ query_parameters['loginUrl'] = login_url
238
+ end
239
+ unless password_delegation == false
240
+ query_parameters['passwordDelegation'] = password_delegation
241
+ end
242
+ unless isNullOrWhiteSpace(password_delegation_app)
243
+ query_parameters['passwordDelegationApp'] = password_delegation_app
244
+ end
245
+ unless isNullOrWhiteSpace(rba_browser_email_template)
246
+ query_parameters['rbaBrowserEmailTemplate'] = rba_browser_email_template
247
+ end
248
+ unless isNullOrWhiteSpace(rba_browser_sms_template)
249
+ query_parameters['rbaBrowserSmsTemplate'] = rba_browser_sms_template
250
+ end
251
+ unless isNullOrWhiteSpace(rba_city_email_template)
252
+ query_parameters['rbaCityEmailTemplate'] = rba_city_email_template
253
+ end
254
+ unless isNullOrWhiteSpace(rba_city_sms_template)
255
+ query_parameters['rbaCitySmsTemplate'] = rba_city_sms_template
256
+ end
257
+ unless isNullOrWhiteSpace(rba_country_email_template)
258
+ query_parameters['rbaCountryEmailTemplate'] = rba_country_email_template
259
+ end
260
+ unless isNullOrWhiteSpace(rba_country_sms_template)
261
+ query_parameters['rbaCountrySmsTemplate'] = rba_country_sms_template
262
+ end
263
+ unless isNullOrWhiteSpace(rba_ip_email_template)
264
+ query_parameters['rbaIpEmailTemplate'] = rba_ip_email_template
265
+ end
266
+ unless isNullOrWhiteSpace(rba_ip_sms_template)
267
+ query_parameters['rbaIpSmsTemplate'] = rba_ip_sms_template
268
+ end
269
+ unless isNullOrWhiteSpace(rba_oneclick_email_template)
270
+ query_parameters['rbaOneclickEmailTemplate'] = rba_oneclick_email_template
271
+ end
272
+ unless isNullOrWhiteSpace(rba_otp_sms_template)
273
+ query_parameters['rbaOTPSmsTemplate'] = rba_otp_sms_template
274
+ end
275
+ unless isNullOrWhiteSpace(sms_template)
276
+ query_parameters['smsTemplate'] = sms_template
277
+ end
278
+ unless isNullOrWhiteSpace(verification_url)
279
+ query_parameters['verificationUrl'] = verification_url
280
+ end
281
+
282
+ resource_path = 'identity/v2/auth/login'
283
+ post_request(resource_path, query_parameters, phone_authentication_model)
284
+ end
285
+ end
286
+ end