login_radius 1.0.1 → 11.0.0.pre.beta

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 (36) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +21 -0
  3. data/README.md +58 -0
  4. data/lib/login_radius.rb +27 -9
  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 +989 -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 +255 -0
  23. data/lib/login_radius/api/social/social_api.rb +806 -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 +2 -2
  28. data/login_radius.gemspec +28 -0
  29. metadata +47 -30
  30. data/lib/hash.rb +0 -13
  31. data/lib/login_radius/exception.rb +0 -4
  32. data/lib/login_radius/messages.rb +0 -41
  33. data/lib/login_radius/related.rb +0 -34
  34. data/lib/login_radius/user_profile.rb +0 -101
  35. data/lib/login_radius/user_profile_getters.rb +0 -152
  36. 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