@@ -190,6 +190,76 @@ public static void StartSteamSession(string steamId64, Action<LootLockerSessionR
190
190
LootLockerAPIManager . Session ( sessionRequest , onComplete ) ;
191
191
}
192
192
193
+ /// <summary>
194
+ /// Checks if we have a stored session and also if that session is valid.
195
+ ///
196
+ /// Depending on response of this method the developer can either start a session using the token,
197
+ /// or show a login form.
198
+ ///
199
+ /// White label platform must be enabled in the web console for this to work.
200
+ /// </summary>
201
+ public static void CheckWhiteLabelSession ( Action < bool > onComplete )
202
+ {
203
+ if ( ! CheckInitialized ( ) )
204
+ {
205
+ onComplete ( false ) ;
206
+ return ;
207
+ }
208
+
209
+ string existingSessionToken = PlayerPrefs . GetString ( "LootLockerWhiteLabelSessionToken" , "" ) ;
210
+ if ( existingSessionToken == "" )
211
+ {
212
+ onComplete ( false ) ;
213
+ return ;
214
+ }
215
+
216
+ string existingSessionEmail = PlayerPrefs . GetString ( "LootLockerWhiteLabelSessionEmail" , "" ) ;
217
+ if ( existingSessionEmail == "" )
218
+ {
219
+ onComplete ( false ) ;
220
+ return ;
221
+ }
222
+
223
+ LootLockerWhiteLabelVerifySessionRequest sessionRequest = new LootLockerWhiteLabelVerifySessionRequest ( ) ;
224
+ sessionRequest . email = existingSessionEmail ;
225
+ sessionRequest . token = existingSessionToken ;
226
+
227
+ LootLockerAPIManager . WhiteLabelVerifySession ( sessionRequest , response =>
228
+ {
229
+ if ( ! response . success )
230
+ {
231
+ onComplete ( false ) ;
232
+ return ;
233
+ }
234
+
235
+ onComplete ( true ) ;
236
+ } ) ;
237
+ }
238
+
239
+ public static void CheckWhiteLabelSession ( string email , string token , Action < bool > onComplete )
240
+ {
241
+ if ( ! CheckInitialized ( ) )
242
+ {
243
+ onComplete ( false ) ;
244
+ return ;
245
+ }
246
+
247
+ LootLockerWhiteLabelVerifySessionRequest sessionRequest = new LootLockerWhiteLabelVerifySessionRequest ( ) ;
248
+ sessionRequest . email = email ;
249
+ sessionRequest . token = token ;
250
+
251
+ LootLockerAPIManager . WhiteLabelVerifySession ( sessionRequest , response =>
252
+ {
253
+ if ( ! response . success )
254
+ {
255
+ onComplete ( false ) ;
256
+ return ;
257
+ }
258
+
259
+ onComplete ( true ) ;
260
+ } ) ;
261
+ }
262
+
193
263
/// <summary>
194
264
/// Create new user using the white label login system.
195
265
///
@@ -206,6 +276,45 @@ public static void StartWhiteLabelSession(string email, string password, Action<
206
276
LootLockerAPIManager . WhiteLabelSession ( sessionRequest , onComplete ) ;
207
277
}
208
278
279
+ public static void StartWhiteLabelSession ( LootLockerWhiteLabelSessionRequest input , Action < LootLockerSessionResponse > onComplete )
280
+ {
281
+ if ( ! CheckInitialized ( ) )
282
+ {
283
+ onComplete ? . Invoke ( LootLockerResponseFactory . SDKNotInitializedError < LootLockerSessionResponse > ( ) ) ;
284
+ return ;
285
+ }
286
+ LootLockerWhiteLabelSessionRequest sessionRequest = new LootLockerWhiteLabelSessionRequest ( input . email ) ;
287
+ sessionRequest . token = input . token ;
288
+ LootLockerAPIManager . WhiteLabelSession ( sessionRequest , onComplete ) ;
289
+ }
290
+
291
+ public static void StartWhiteLabelSession ( Action < LootLockerSessionResponse > onComplete )
292
+ {
293
+ if ( ! CheckInitialized ( ) )
294
+ {
295
+ onComplete ? . Invoke ( LootLockerResponseFactory . SDKNotInitializedError < LootLockerSessionResponse > ( ) ) ;
296
+ return ;
297
+ }
298
+
299
+ string existingSessionToken = PlayerPrefs . GetString ( "LootLockerWhiteLabelSessionToken" , "" ) ;
300
+ if ( existingSessionToken == "" )
301
+ {
302
+ onComplete ( LootLockerResponseFactory . Error < LootLockerSessionResponse > ( "no session token found" ) ) ;
303
+ return ;
304
+ }
305
+
306
+ string existingSessionEmail = PlayerPrefs . GetString ( "LootLockerWhiteLabelSessionEmail" , "" ) ;
307
+ if ( existingSessionEmail == "" )
308
+ {
309
+ onComplete ( LootLockerResponseFactory . Error < LootLockerSessionResponse > ( "no session email found" ) ) ;
310
+ return ;
311
+ }
312
+
313
+ LootLockerWhiteLabelSessionRequest sessionRequest = new LootLockerWhiteLabelSessionRequest ( existingSessionEmail ) ;
314
+ sessionRequest . token = existingSessionToken ;
315
+ LootLockerAPIManager . WhiteLabelSession ( sessionRequest , onComplete ) ;
316
+ }
317
+
209
318
public static void EndSession ( string deviceId , Action < LootLockerSessionResponse > onComplete )
210
319
{
211
320
if ( ! CheckInitialized ( ) )
@@ -225,6 +334,52 @@ public static void EndSession(string deviceId, Action<LootLockerSessionResponse>
225
334
226
335
#region White Label Login
227
336
337
+ /// <summary>
338
+ /// Create new user using the white label login system.
339
+ ///
340
+ /// White label platform must be enabled in the web console for this to work.
341
+ /// </summary>
342
+ public static void WhiteLabelLogin ( string email , string password , Action < LootLockerWhiteLabelLoginResponse > onComplete )
343
+ {
344
+ if ( ! CheckInitialized ( ) )
345
+ {
346
+ onComplete ? . Invoke ( LootLockerResponseFactory . SDKNotInitializedError < LootLockerWhiteLabelLoginResponse > ( ) ) ;
347
+ return ;
348
+ }
349
+
350
+ LootLockerWhiteLabelUserRequest input = new LootLockerWhiteLabelUserRequest
351
+ {
352
+ email = email ,
353
+ password = password
354
+ } ;
355
+
356
+ LootLockerAPIManager . WhiteLabelLogin ( input , onComplete ) ;
357
+ }
358
+
359
+ public static void WhiteLabelLogin ( string email , string password , bool remember , Action < LootLockerWhiteLabelLoginResponse > onComplete )
360
+ {
361
+ if ( ! CheckInitialized ( ) )
362
+ {
363
+ onComplete ? . Invoke ( LootLockerResponseFactory . SDKNotInitializedError < LootLockerWhiteLabelLoginResponse > ( ) ) ;
364
+ return ;
365
+ }
366
+
367
+ LootLockerWhiteLabelUserRequest input = new LootLockerWhiteLabelUserRequest
368
+ {
369
+ email = email ,
370
+ password = password ,
371
+ remember = remember
372
+ } ;
373
+
374
+ LootLockerAPIManager . WhiteLabelLogin ( input , response => {
375
+ PlayerPrefs . SetString ( "LootLockerWhiteLabelSessionToken" , response . SessionToken ) ;
376
+ PlayerPrefs . SetString ( "LootLockerWhiteLabelSessionEmail" , email ) ;
377
+ PlayerPrefs . Save ( ) ;
378
+
379
+ onComplete ( response ) ;
380
+ } ) ;
381
+ }
382
+
228
383
/// <summary>
229
384
/// Create new user using the white label login system.
230
385
///
0 commit comments