login_radius 2.0.0 → 3.0.0
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 +4 -4
- data/README.md +1 -1
- data/lib/login_radius/advanced_api.rb +133 -0
- data/lib/login_radius/authentication_api.rb +597 -0
- data/lib/login_radius/exception.rb +1 -1
- data/lib/login_radius/management_api.rb +327 -0
- data/lib/login_radius/rest_request.rb +142 -0
- data/lib/login_radius/{basic_api.rb → social_api.rb} +210 -197
- data/lib/login_radius/two_fa_api.rb +191 -0
- data/lib/login_radius/version.rb +2 -2
- data/lib/login_radius.rb +8 -6
- metadata +12 -12
- data/lib/login_radius/account_api.rb +0 -130
- data/lib/login_radius/custom_object_api.rb +0 -347
- data/lib/login_radius/raas_api.rb +0 -102
- data/lib/login_radius/user_api.rb +0 -283
@@ -0,0 +1,327 @@
|
|
1
|
+
module LoginRadius
|
2
|
+
module ManagementApi
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
# ------------------------------------------------------------- Get API --------------------------------------------------------------------#
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
def accountIdentitiesByEmail(email)
|
11
|
+
return getRequest("identity/v2/manage/account/identities", {:apikey=> appkey,:apisecret=>appsecret,:email=>email},"api");
|
12
|
+
rescue LoginRadiusRaas::Exception => e
|
13
|
+
false
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
def userImpersonation(uid)
|
18
|
+
return getRequest("identity/v2/manage/account/access_token", {:apikey=> appkey,:apisecret=>appsecret,:uid=>uid},"api");
|
19
|
+
rescue LoginRadiusRaas::Exception => e
|
20
|
+
false
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
def accountPassword(uid)
|
26
|
+
return getRequest("identity/v2/manage/account/"+uid+"/password", {:apikey=> appkey,:apisecret=>appsecret},"api");
|
27
|
+
rescue LoginRadiusRaas::Exception => e
|
28
|
+
false
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
def accountProfileByEmail(email)
|
34
|
+
return getRequest("identity/v2/manage/account", {:apikey=> appkey,:apisecret=>appsecret,:email=>email},"api");
|
35
|
+
rescue LoginRadiusRaas::Exception => e
|
36
|
+
false
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
def accountProfileByUserName(username)
|
42
|
+
return getRequest("identity/v2/manage/account", {:apikey=> appkey,:apisecret=>appsecret,:username=>username},"api");
|
43
|
+
rescue LoginRadiusRaas::Exception => e
|
44
|
+
false
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
def accountProfileByPhone(phone)
|
49
|
+
return getRequest("identity/v2/manage/account", {:apikey=> appkey,:apisecret=>appsecret,:phone=>phone},"api");
|
50
|
+
rescue LoginRadiusRaas::Exception => e
|
51
|
+
false
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
def accountProfileByUid(uid)
|
57
|
+
return getRequest("identity/v2/manage/account/"+uid, {:apikey=> appkey,:apisecret=>appsecret},"api");
|
58
|
+
rescue LoginRadiusRaas::Exception => e
|
59
|
+
false
|
60
|
+
end
|
61
|
+
|
62
|
+
|
63
|
+
def getContextWithRolesAndPermissions(uid)
|
64
|
+
return getRequest("identity/v2/manage/account/"+uid+"/rolecontext", {:apikey=> appkey,:apisecret=>appsecret},"api");
|
65
|
+
rescue LoginRadiusRaas::Exception => e
|
66
|
+
false
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
def getRolesList()
|
71
|
+
return getRequest("identity/v2/manage/role", {:apikey=> appkey,:apisecret=>appsecret},"api");
|
72
|
+
rescue LoginRadiusRaas::Exception => e
|
73
|
+
false
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
def getRolesByUid(uid)
|
78
|
+
return getRequest("identity/v2/manage/account/"+uid+"/role", {:apikey=> appkey,:apisecret=>appsecret},"api");
|
79
|
+
rescue LoginRadiusRaas::Exception => e
|
80
|
+
false
|
81
|
+
end
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
def getCustomObjectByObjectrecordIdAndUid(objectname,uid,objectrecordid)
|
86
|
+
return getRequest("identity/v2/manage/account/"+uid+"/customobject/"+objectrecordid, {:apikey=> appkey,:apisecret=>appsecret,:objectname=>objectname},"api");
|
87
|
+
rescue LoginRadiusRaas::Exception => e
|
88
|
+
false
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
def getCustomObjectByUid(objectname,uid)
|
93
|
+
return getRequest("identity/v2/manage/account/"+uid+"/customobject", {:apikey=> appkey,:apisecret=>appsecret,:objectname=>objectname},"api");
|
94
|
+
rescue LoginRadiusRaas::Exception => e
|
95
|
+
false
|
96
|
+
end
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
def generateSott(timedifference)
|
101
|
+
return getRequest("identity/v2/manage/account/sott", {:apikey=> appkey,:apisecret=>appsecret,:timedifference=>timedifference},"api");
|
102
|
+
rescue LoginRadiusRaas::Exception => e
|
103
|
+
false
|
104
|
+
end
|
105
|
+
|
106
|
+
|
107
|
+
def getServerTime(timedifference)
|
108
|
+
return getRequest("identity/v2/serverinfo", {:apikey=> appkey,:timedifference=>timedifference},"api");
|
109
|
+
rescue LoginRadiusRaas::Exception => e
|
110
|
+
false
|
111
|
+
end
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
def getRegistrationData(type,parentid,skip,limit)
|
116
|
+
return getRequest("identity/v2/manage/registrationdata/"+type, {:apikey=> appkey,:parentid=>parentid,:skip=>skip,:limit=>limit},"api");
|
117
|
+
rescue LoginRadiusRaas::Exception => e
|
118
|
+
false
|
119
|
+
end
|
120
|
+
|
121
|
+
def getRegistrationDataServer(type,parentid,skip,limit)
|
122
|
+
return getRequest("identity/v2/auth/registrationdata/"+type, {:apikey=> appkey,:apisecret=>appsecret,:parentid=>parentid,:skip=>skip,:limit=>limit},"api");
|
123
|
+
rescue LoginRadiusRaas::Exception => e
|
124
|
+
false
|
125
|
+
end
|
126
|
+
|
127
|
+
|
128
|
+
# ------------------------------------------------------------- Post API --------------------------------------------------------------------#
|
129
|
+
|
130
|
+
|
131
|
+
def accountCreate(payload)
|
132
|
+
return postRequest("identity/v2/manage/account",{:apikey=> appkey,:apisecret=>appsecret},payload,nil,"api");
|
133
|
+
rescue LoginRadiusRaas::Exception => e
|
134
|
+
false
|
135
|
+
end
|
136
|
+
|
137
|
+
|
138
|
+
def getEmailVerificationToken(payload)
|
139
|
+
return postRequest("identity/v2/manage/account/verify/token",{:apikey=> appkey,:apisecret=>appsecret},payload,nil,"api");
|
140
|
+
rescue LoginRadiusRaas::Exception => e
|
141
|
+
false
|
142
|
+
end
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
def getForgotPasswordToken(payload)
|
147
|
+
return postRequest("identity/v2/manage/account/forgot/token",{:apikey=> appkey,:apisecret=>appsecret},payload,nil,"api");
|
148
|
+
rescue LoginRadiusRaas::Exception => e
|
149
|
+
false
|
150
|
+
end
|
151
|
+
|
152
|
+
|
153
|
+
def rolesCreate(payload)
|
154
|
+
return postRequest("identity/v2/manage/role",{:apikey=> appkey,:apisecret=>appsecret},payload,nil,"api");
|
155
|
+
rescue LoginRadiusRaas::Exception => e
|
156
|
+
false
|
157
|
+
end
|
158
|
+
|
159
|
+
|
160
|
+
def createCustomObjectByUid(objectname,uid,payload)
|
161
|
+
return postRequest("identity/v2/manage/account/"+uid+"/customobject",{:apikey=> appkey,:apisecret=>appsecret,:objectname =>objectname },payload,nil,"api");
|
162
|
+
rescue LoginRadiusRaas::Exception => e
|
163
|
+
false
|
164
|
+
end
|
165
|
+
|
166
|
+
|
167
|
+
def addRegistrationData(payload)
|
168
|
+
return postRequest("identity/v2/manage/registrationdata",{:apikey=> appkey,:apisecret=>appsecret},payload,nil,"api");
|
169
|
+
rescue LoginRadiusRaas::Exception => e
|
170
|
+
false
|
171
|
+
end
|
172
|
+
|
173
|
+
def ValidateSecretCode(payload)
|
174
|
+
return postRequest("identity/v2/auth/registrationdata/validatecode", {:apikey=> appkey},payload,nil,"api");
|
175
|
+
rescue LoginRadiusRaas::Exception => e
|
176
|
+
false
|
177
|
+
end
|
178
|
+
|
179
|
+
# ------------------------------------------------------------- Put API --------------------------------------------------------------------#
|
180
|
+
|
181
|
+
|
182
|
+
def accountSetPasswordToken(uid,payload)
|
183
|
+
return putRequest("identity/v2/manage/account/"+uid+"/password",{:apikey=> appkey,:apisecret=>appsecret},payload,"api");
|
184
|
+
rescue LoginRadiusRaas::Exception => e
|
185
|
+
false
|
186
|
+
end
|
187
|
+
|
188
|
+
|
189
|
+
def accountUpdate(uid,payload)
|
190
|
+
return putRequest("identity/v2/manage/account/"+uid,{:apikey=> appkey,:apisecret=>appsecret},payload,"api");
|
191
|
+
rescue LoginRadiusRaas::Exception => e
|
192
|
+
false
|
193
|
+
end
|
194
|
+
|
195
|
+
|
196
|
+
def accountUpdateSecurityQuestionConfiguration(uid,payload)
|
197
|
+
return putRequest("identity/v2/manage/account/"+uid,{:apikey=> appkey,:apisecret=>appsecret},payload,"api");
|
198
|
+
rescue LoginRadiusRaas::Exception => e
|
199
|
+
false
|
200
|
+
end
|
201
|
+
|
202
|
+
|
203
|
+
def accountInvalidateVerificationEmail(uid,verificationurl,emailtemplate)
|
204
|
+
return putRequest("identity/v2/manage/account/"+uid+"/invalidateemail",{:apikey=> appkey,:apisecret=>appsecret,:verificationurl=>verificationurl,:emailtemplate=>emailtemplate},{},"api");
|
205
|
+
rescue LoginRadiusRaas::Exception => e
|
206
|
+
false
|
207
|
+
end
|
208
|
+
|
209
|
+
|
210
|
+
def accountAddPermissionsToRole(role,payload)
|
211
|
+
return putRequest("identity/v2/manage/role/"+role+"/permission",{:apikey=> appkey,:apisecret=>appsecret},payload,"api");
|
212
|
+
rescue LoginRadiusRaas::Exception => e
|
213
|
+
false
|
214
|
+
end
|
215
|
+
|
216
|
+
|
217
|
+
def roleAssignToUser(uid,payload)
|
218
|
+
return putRequest("identity/v2/manage/account/"+uid+"/role",{:apikey=> appkey,:apisecret=>appsecret},payload,"api");
|
219
|
+
rescue LoginRadiusRaas::Exception => e
|
220
|
+
false
|
221
|
+
end
|
222
|
+
|
223
|
+
|
224
|
+
def upsertContext(uid,payload)
|
225
|
+
return putRequest("identity/v2/manage/account/"+uid+"/rolecontext",{:apikey=> appkey,:apisecret=>appsecret},payload,"api");
|
226
|
+
rescue LoginRadiusRaas::Exception => e
|
227
|
+
false
|
228
|
+
end
|
229
|
+
|
230
|
+
|
231
|
+
def customObjectUpdateByUid(objectname,updatetype,uid,objectrecordid,payload)
|
232
|
+
return putRequest("identity/v2/manage/account/"+uid+"/customobject/"+objectrecordid,{:apikey=> appkey,:apisecret=>appsecret,:updatetype=> updatetype,:objectname=>objectname},payload,"api");
|
233
|
+
rescue LoginRadiusRaas::Exception => e
|
234
|
+
false
|
235
|
+
end
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
def resetPhoneIdVerification(uid)
|
240
|
+
return putRequest("identity/v2/manage/account/"+uid+"/invalidatephone",{:apikey=> appkey,:apisecret=>appsecret},{},"api");
|
241
|
+
rescue LoginRadiusRaas::Exception => e
|
242
|
+
false
|
243
|
+
end
|
244
|
+
|
245
|
+
def updateRegistrationData(recordid,payload)
|
246
|
+
return putRequest("identity/v2/manage/registrationdata/"+recordid,{:apikey=> appkey,:apisecret=>appsecret},payload,"api");
|
247
|
+
rescue LoginRadiusRaas::Exception => e
|
248
|
+
false
|
249
|
+
end
|
250
|
+
|
251
|
+
# ------------------------------------------------------------- Delete API --------------------------------------------------------------------#
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
def accountEmailDelete(uid,email)
|
256
|
+
payload = {
|
257
|
+
:email=> email
|
258
|
+
}
|
259
|
+
return deleteRequest("identity/v2/manage/account/"+uid+"/email",{:apikey=> appkey,:apisecret=>appsecret},payload);
|
260
|
+
rescue LoginRadiusRaas::Exception => e
|
261
|
+
false
|
262
|
+
end
|
263
|
+
|
264
|
+
def accountDelete(uid)
|
265
|
+
return deleteRequest("identity/v2/manage/account/"+uid,{:apikey=> appkey,:apisecret=>appsecret},{});
|
266
|
+
rescue LoginRadiusRaas::Exception => e
|
267
|
+
false
|
268
|
+
end
|
269
|
+
|
270
|
+
|
271
|
+
def accountDeleteRole(uid)
|
272
|
+
return deleteRequest("identity/v2/manage/role/"+uid,{:apikey=> appkey,:apisecret=>appsecret},{});
|
273
|
+
rescue LoginRadiusRaas::Exception => e
|
274
|
+
false
|
275
|
+
end
|
276
|
+
|
277
|
+
|
278
|
+
def roleUnassignToUser(uid,payload)
|
279
|
+
return deleteRequest("identity/v2/manage/account/"+uid+"/role",{:apikey=> appkey,:apisecret=>appsecret},payload);
|
280
|
+
rescue LoginRadiusRaas::Exception => e
|
281
|
+
false
|
282
|
+
end
|
283
|
+
|
284
|
+
|
285
|
+
def accountRemovePermission(roleName,payload)
|
286
|
+
return deleteRequest("identity/v2/manage/role/"+roleName+"/permission",{:apikey=> appkey,:apisecret=>appsecret},payload);
|
287
|
+
rescue LoginRadiusRaas::Exception => e
|
288
|
+
false
|
289
|
+
end
|
290
|
+
|
291
|
+
|
292
|
+
def deleteRoleContext(uid,rolecontextname)
|
293
|
+
return deleteRequest("identity/v2/manage/account/"+uid+"/rolecontext/"+rolecontextname,{:apikey=> appkey,:apisecret=>appsecret},{});
|
294
|
+
rescue LoginRadiusRaas::Exception => e
|
295
|
+
false
|
296
|
+
end
|
297
|
+
|
298
|
+
|
299
|
+
def deleteRoleFromContext(uid,rolecontextname,payload)
|
300
|
+
return deleteRequest("identity/v2/manage/account/"+uid+"/rolecontext/"+rolecontextname+"/role",{:apikey=> appkey,:apisecret=>appsecret},payload);
|
301
|
+
rescue LoginRadiusRaas::Exception => e
|
302
|
+
false
|
303
|
+
end
|
304
|
+
|
305
|
+
|
306
|
+
def deleteAdditionalPermissionsFromContext(uid,rolecontextname,payload)
|
307
|
+
return deleteRequest("identity/v2/manage/account/"+uid+"/rolecontext/"+rolecontextname+"/additionalpermission",{:apikey=> appkey,:apisecret=>appsecret},payload);
|
308
|
+
rescue LoginRadiusRaas::Exception => e
|
309
|
+
false
|
310
|
+
end
|
311
|
+
|
312
|
+
|
313
|
+
def deleteCustomObjectByObjectrecordId(uid,objectrecordid,objectname)
|
314
|
+
return deleteRequest("identity/v2/manage/account/"+uid+"/customobject/"+objectrecordid,{:apikey=> appkey,:apisecret=>appsecret,:objectname=>objectname},{});
|
315
|
+
rescue LoginRadiusRaas::Exception => e
|
316
|
+
false
|
317
|
+
end
|
318
|
+
|
319
|
+
def deleteRegistrationData(recordid)
|
320
|
+
return deleteRequest("identity/v2/manage/registrationdata/"+recordid,{:apikey=> appkey,:apisecret=>appsecret},{});
|
321
|
+
rescue LoginRadiusRaas::Exception => e
|
322
|
+
false
|
323
|
+
end
|
324
|
+
|
325
|
+
|
326
|
+
end
|
327
|
+
end
|
@@ -0,0 +1,142 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
|
3
|
+
module LoginRadius
|
4
|
+
class RestRequest
|
5
|
+
include SocialApi
|
6
|
+
include AdvancedApi
|
7
|
+
include AuthenticationApi
|
8
|
+
include ManagementApi
|
9
|
+
include Two_FA_Api
|
10
|
+
|
11
|
+
attr_accessor :appkey, :appsecret, :ssl_verify_peer
|
12
|
+
|
13
|
+
API_V2_BASE_URL = "https://api.loginradius.com/"
|
14
|
+
API_V2_BASE_URL_CONFIG = "https://config.lrcontent.com/"
|
15
|
+
API_V2_BASE_URL_CLOUD = "https://cloud-api.loginradius.com/"
|
16
|
+
|
17
|
+
# Takes a hash of account secret, token, and connection type(net_http or em_http)
|
18
|
+
# and uses it to auth against the LoginRadius API. Then it returns the Account object. The
|
19
|
+
# async key is optional, if set to true, will use Em::HTTP instead of Net::HTTP.
|
20
|
+
#
|
21
|
+
# @param opts [Hash] Must have keys :token, :secret, :async(optional) and :ssl_verify_peer(optional)
|
22
|
+
# @return [LoginRadius::Account]
|
23
|
+
def initialize(opts = {})
|
24
|
+
self.appsecret = opts[:appsecret]
|
25
|
+
self.appkey = opts[:appkey]
|
26
|
+
self.ssl_verify_peer = opts[:ssl_verify_peer]
|
27
|
+
raise LoginRadiusRaas::Exception.new("Invalid appkey") unless guid_valid?(appkey)
|
28
|
+
raise LoginRadiusRaas::Exception.new("Invalid appsecret") unless guid_valid?(appsecret)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Takes a guid and returns whether or not it is valid.
|
32
|
+
#
|
33
|
+
# @param guid [String]
|
34
|
+
# @return [Boolean]
|
35
|
+
def guid_valid?(guid)
|
36
|
+
guid.match(/^\{?[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}\}?$/i)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Generic GET call function that other submodules can use to hit the API.
|
40
|
+
#
|
41
|
+
# @param url [String] Target URL to fetch data from.
|
42
|
+
# @param params [Hash] Parameters to send
|
43
|
+
# @return data [Hash] Parsed JSON data from the call
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
def getRequest(url,getparams = {},baseURL)
|
49
|
+
if baseURL == "cloud"
|
50
|
+
url_obj = URI.parse(API_V2_BASE_URL_CLOUD+url)
|
51
|
+
elsif baseURL == "config"
|
52
|
+
url_obj = URI.parse(API_V2_BASE_URL_CONFIG+url)
|
53
|
+
else
|
54
|
+
url_obj = URI.parse(API_V2_BASE_URL+url)
|
55
|
+
end
|
56
|
+
url_obj.query = URI.encode_www_form(getparams)
|
57
|
+
http = Net::HTTP.new(url_obj.host, url_obj.port)
|
58
|
+
http.use_ssl = true
|
59
|
+
response = http.get(url_obj.request_uri)
|
60
|
+
begin
|
61
|
+
converted_response = JSON.parse(response.body, :symbolize_names => true)
|
62
|
+
return converted_response
|
63
|
+
rescue JSON::ParserError => e
|
64
|
+
raise LoginRadiusRaas::Exception.new("A JSON parsing error occurred because the API returned an HTML page instead of JSON. This happens mostly when you're using an expired Token. Specifics: #{e.message}")
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
def postRequest(url,getparams = {},postparams,sott,baseURL)
|
71
|
+
if baseURL == "cloud"
|
72
|
+
url_obj = URI.parse(API_V2_BASE_URL_CLOUD+url)
|
73
|
+
elsif baseURL == "config"
|
74
|
+
url_obj = URI.parse(API_V2_BASE_URL_CONFIG+url)
|
75
|
+
else
|
76
|
+
url_obj = URI.parse(API_V2_BASE_URL+url)
|
77
|
+
end
|
78
|
+
url_obj.query = URI.encode_www_form(getparams)
|
79
|
+
http = Net::HTTP.new(url_obj.host, url_obj.port)
|
80
|
+
http.use_ssl = true
|
81
|
+
if sott!=nil
|
82
|
+
response = http.post(url_obj.request_uri, postparams.to_json, {'Content-Type' => 'application/json', 'X-LoginRadius-Sott' => sott})
|
83
|
+
else
|
84
|
+
response = http.post(url_obj.request_uri, postparams.to_json, {'Content-Type' => 'application/json'})
|
85
|
+
end
|
86
|
+
begin
|
87
|
+
converted_response = JSON.parse(response.body, :symbolize_names => true)
|
88
|
+
return converted_response
|
89
|
+
rescue JSON::ParserError => e
|
90
|
+
raise LoginRadiusRaas::Exception.new("A JSON parsing error occurred because the API returned an HTML page instead of JSON. This happens mostly when you're using an expired Token. Specifics: #{e.message}")
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
def putRequest(url,getparams = {},postparams,baseURL)
|
97
|
+
|
98
|
+
if baseURL == "cloud"
|
99
|
+
url_obj = URI.parse(API_V2_BASE_URL_CLOUD+url)
|
100
|
+
elsif baseURL == "config"
|
101
|
+
url_obj = URI.parse(API_V2_BASE_URL_CONFIG+url)
|
102
|
+
else
|
103
|
+
url_obj = URI.parse(API_V2_BASE_URL+url)
|
104
|
+
end
|
105
|
+
url_obj.query = URI.encode_www_form(getparams)
|
106
|
+
http = Net::HTTP.new(url_obj.host, url_obj.port)
|
107
|
+
http.use_ssl = true
|
108
|
+
response = http.put(url_obj.request_uri, postparams.to_json, {'Content-Type' => 'application/json'})
|
109
|
+
begin
|
110
|
+
converted_response = JSON.parse(response.body, :symbolize_names => true)
|
111
|
+
return converted_response
|
112
|
+
rescue JSON::ParserError => e
|
113
|
+
raise LoginRadiusRaas::Exception.new("A JSON parsing error occurred because the API returned an HTML page instead of JSON. This happens mostly when you're using an expired Token. Specifics: #{e.message}")
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
|
118
|
+
def deleteRequest(url,getparams = {},postparams)
|
119
|
+
url_obj = URI.parse(API_V2_BASE_URL+url)
|
120
|
+
url_obj.query = URI.encode_www_form(getparams)
|
121
|
+
require 'uri'
|
122
|
+
require 'net/http'
|
123
|
+
url = URI("https://api.loginradius.com"+url_obj.request_uri)
|
124
|
+
http = Net::HTTP.new(url.host, url.port)
|
125
|
+
http.use_ssl = true
|
126
|
+
http.verify_mode = false
|
127
|
+
request = Net::HTTP::Delete.new(url)
|
128
|
+
request.body = postparams.to_json #"{\n \"provider\": \"xxxxxxxxxxx\",\n \"providerid\": \"xxxxxxxxxxxxxxxxxxx\"\n}"
|
129
|
+
request['content-Type'] = 'application/json'
|
130
|
+
response = http.request(request)
|
131
|
+
begin
|
132
|
+
converted_response = JSON.parse(response.read_body, :symbolize_names => true)
|
133
|
+
return converted_response
|
134
|
+
rescue JSON::ParserError => e
|
135
|
+
raise LoginRadiusRaas::Exception.new("A JSON parsing error occurred because the API returned an HTML page instead of JSON. This happens mostly when you're using an expired Token. Specifics: #{e.message}")
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
end
|
142
|
+
end
|