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.
- checksums.yaml +5 -5
- data/LICENSE.txt +21 -0
- data/README.md +58 -0
- data/lib/login_radius.rb +27 -9
- data/lib/login_radius/api/account/account_api.rb +581 -0
- data/lib/login_radius/api/account/role_api.rb +330 -0
- data/lib/login_radius/api/account/sott_api.rb +47 -0
- data/lib/login_radius/api/advanced/configuration_api.rb +57 -0
- data/lib/login_radius/api/advanced/consent_management_api.rb +161 -0
- data/lib/login_radius/api/advanced/custom_object_api.rb +316 -0
- data/lib/login_radius/api/advanced/custom_registration_data_api.rb +195 -0
- data/lib/login_radius/api/advanced/multi_factor_authentication_api.rb +606 -0
- data/lib/login_radius/api/advanced/re_authentication_api.rb +243 -0
- data/lib/login_radius/api/advanced/web_hook_api.rb +101 -0
- data/lib/login_radius/api/authentication/authentication_api.rb +989 -0
- data/lib/login_radius/api/authentication/one_touch_login_api.rb +160 -0
- data/lib/login_radius/api/authentication/password_less_login_api.rb +158 -0
- data/lib/login_radius/api/authentication/phone_authentication_api.rb +329 -0
- data/lib/login_radius/api/authentication/pin_authentication_api.rb +316 -0
- data/lib/login_radius/api/authentication/risk_based_authentication_api.rb +286 -0
- data/lib/login_radius/api/authentication/smart_login_api.rb +146 -0
- data/lib/login_radius/api/social/native_social_api.rb +255 -0
- data/lib/login_radius/api/social/social_api.rb +806 -0
- data/lib/login_radius/error.rb +7 -0
- data/lib/login_radius/request_client.rb +295 -0
- data/lib/login_radius/response.rb +12 -0
- data/lib/login_radius/version.rb +2 -2
- data/login_radius.gemspec +28 -0
- metadata +47 -30
- data/lib/hash.rb +0 -13
- data/lib/login_radius/exception.rb +0 -4
- data/lib/login_radius/messages.rb +0 -41
- data/lib/login_radius/related.rb +0 -34
- data/lib/login_radius/user_profile.rb +0 -101
- data/lib/login_radius/user_profile_getters.rb +0 -152
- 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
|