LootLocker Unreal SDK 10.6.0
Game backend SDK for Unreal Engine
Loading...
Searching...
No Matches
LootLockerAuthenticationRequestHandler.h
Go to the documentation of this file.
1// Copyright (c) 2021 LootLocker
2
3#pragma once
4
5
6#include "CoreMinimal.h"
7#include "Dom/JsonObject.h"
11#include "LootLockerAuthenticationRequestHandler.generated.h"
12
15UENUM(BlueprintType, Category = "LootLocker")
20{
21 Web = 0 UMETA(DisplayName = "Web"),
22 Android = 1 UMETA(DisplayName = "Android"),
23 Ios = 2 UMETA(DisplayName = "iOS"),
24 Desktop = 3 UMETA(DisplayName = "Desktop")
25};
27
28USTRUCT()
30{
31 GENERATED_BODY()
35 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
36 FString session_token = "";
37};
38
39USTRUCT(BlueprintType)
41{
42 GENERATED_BODY()
43 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
44 FString metadata_key = "";
45 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
46 FString value_json = "";
47};
48
49USTRUCT(BlueprintType)
51{
52 GENERATED_BODY()
53 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
54 FString question_text = "";
55 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
56 FString metadata_key = "";
57 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
58 FString field_type = "";
59 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
60 FString params = "";
61 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
62 bool required = false;
63 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
64 bool sensitive = false;
65 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
66 int32 sort_order = 0;
67};
68
69USTRUCT(BlueprintType)
71{
72 GENERATED_BODY()
73 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login")
74 FString email = "";
75 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login")
76 FString password = "";
77};
78
79USTRUCT(BlueprintType)
81{
82 GENERATED_BODY()
83 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login")
85};
86
87USTRUCT(BlueprintType)
89{
90 GENERATED_BODY()
91 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login")
92 bool remember = false;
93};
94
95// Used for WhiteLabel Login
96USTRUCT(BlueprintType)
98{
99 GENERATED_BODY()
100 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login Response")
101 int32 id = 0;
102 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login Response")
103 FString player_name = "";
104 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login Response")
105 int32 game_id = 0;
106 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login Response")
107 FString email = "";
108 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login Response")
109 FString created_at = "";
110 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login Response")
111 FString last_seen = "";
112 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login Response")
113 FString updated_at = "";
114 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login Response")
115 FString deleted_at = "";
116 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker Login Response")
117 FString validated_at = "";
118};
119
120USTRUCT(BlueprintType)
122{
123 GENERATED_BODY()
124 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Startup Item")
125 FString game_api_key = "";
126 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Startup Item")
127 FString game_version = "";
128};
129
130USTRUCT(BlueprintType)
132{
133 GENERATED_BODY()
134 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Startup Item")
135 FString platform = "";
136 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Startup Item")
137 FString player_identifier = "";
138};
139
140USTRUCT(BlueprintType)
142{
143 GENERATED_BODY()
144 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
145 FString email = "";
146 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
147 FString token = "";
148};
149
150USTRUCT(BlueprintType)
152{
153 GENERATED_BODY()
154 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
155 FString email = "";
156 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
157 FString token = "";
158};
159
160USTRUCT(BlueprintType)
162{
163 GENERATED_BODY()
164 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
165 FString email = "";
166};
167
168USTRUCT(BlueprintType)
170{
171 GENERATED_BODY()
172 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
173 FString nsa_id_token = "";
174};
175
176USTRUCT(BlueprintType)
178{
179 GENERATED_BODY()
180 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
181 FString user_id = "";
182 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
183 FString nonce = "";
184};
185
186USTRUCT(BlueprintType)
188{
189 GENERATED_BODY()
190 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
191 FString refresh_token = "";
192};
193
194USTRUCT(BlueprintType)
196{
197 GENERATED_BODY()
198 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
199 FString xbox_user_token = "";
200};
201
202USTRUCT(BlueprintType)
204{
205 GENERATED_BODY()
206 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
207 FString bundle_id = "";
208 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
209 FString player_id = "";
210 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
211 FString public_key_url = "";
212 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
213 FString signature = "";
214 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
215 FString salt = "";
216 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
217 FString timestamp = "";
218
219};
220
221USTRUCT(BlueprintType)
223{
224 GENERATED_BODY()
225 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
226 FString refresh_token = "";
227};
228
229
230USTRUCT(BlueprintType)
232{
233 GENERATED_BODY()
234 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
235 FString apple_authorization_code = "";
236};
237
238USTRUCT(BlueprintType)
240{
241 GENERATED_BODY()
242 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
243 FString refresh_token = "";
244};
245
246USTRUCT(BlueprintType)
248{
249 GENERATED_BODY()
250 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
251 FString id_token = "";
252};
253
254USTRUCT(BlueprintType)
256{
257 GENERATED_BODY()
258 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
260};
261
262USTRUCT(BlueprintType)
264{
265 GENERATED_BODY()
266 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
267 FString refresh_token = "";
268};
269
270USTRUCT(BlueprintType)
272{
273 GENERATED_BODY()
274 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
275 FString auth_code = "";
276};
277
278USTRUCT(BlueprintType)
280{
281 GENERATED_BODY()
282 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
283 FString refresh_token = "";
284};
285
286USTRUCT(BlueprintType)
288{
289 GENERATED_BODY()
290 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
291 FString id_token = "";
292};
293
294USTRUCT(BlueprintType)
296{
297 GENERATED_BODY()
298 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
299 FString refresh_token = "";
300};
301
302USTRUCT(BlueprintType)
304{
305 GENERATED_BODY()
306 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
307 FString key = "";
308 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
309 FString platform = "";
310 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
311 FString token = "";
312};
313
314USTRUCT(BlueprintType)
316{
317 GENERATED_BODY()
318 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
319 FString Key;
320 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
321 FString Platform = "psn";
322 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
323 FString Token;
324 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
325 int Psn_issuer_id = 256; // Default to production
326};
327
328USTRUCT(BlueprintType)
330{
331 GENERATED_BODY()
332 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
333 FString Game_api_key;
334 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
335 FString Game_version;
336 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
337 FString Auth_code;
338 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
339 int Env_iss_id = 256; // Default to production
340};
341
342USTRUCT(BlueprintType)
344{
345 GENERATED_BODY()
346 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
347 FString steam_ticket = "";
348};
349
350USTRUCT(BlueprintType)
352{
353 GENERATED_BODY()
354 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
355 FString access_token = "";
356};
357
358USTRUCT(BlueprintType)
360{
361 GENERATED_BODY()
362 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
363 FString refresh_token = "";
364};
365
366USTRUCT(BlueprintType)
368{
369 GENERATED_BODY()
370 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
371 FString steam_app_id = "";
372};
373
374USTRUCT(BlueprintType)
376{
377 GENERATED_BODY()
378 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
379 FString key = "";
380 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
381 FString platform = "";
382 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
383 FString token = "";
384 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
385 int Active_steam_app_id = 0;
386};
387
388USTRUCT(BlueprintType)
390{
391 GENERATED_BODY()
392 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
393 int user_id = 0;
394};
395
396USTRUCT(BlueprintType)
398{
399 GENERATED_BODY()
400 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
401 FString Email = "";
402};
403
404USTRUCT(BlueprintType)
406{
407 GENERATED_BODY()
408 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
409 int32 current = 0;
410 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
411 bool current_is_prestige = false;
412 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
413 int32 next = 0;
414 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
415 bool next_is_prestige = false;
416};
417
418USTRUCT(BlueprintType)
420{
421 GENERATED_BODY()
425 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
426 FString player_name = "";
430 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
431 int32 player_id = 0;
435 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
436 FString public_uid = "";
440 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
441 FString player_ulid = "";
445 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
446 FString player_created_at = "";
450 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
451 bool seen_before = false;
455 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
456 bool check_grant_notifications = false;
460 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
461 bool check_deactivation_notifications = false;
465 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
466 int32 xp = 0;
470 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
471 int32 level = 0;
475 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
480 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
481 int32 account_balance = 0;
485 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
486 FString player_identifier = "";
490 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
491 FString wallet_id = "";
495 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
496 TArray<FString> Errors;
497};
498
499USTRUCT(BlueprintType)
501{
502 GENERATED_BODY()
503 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
504 FString refresh_token = "";
505};
506
507USTRUCT(BlueprintType)
509{
510 GENERATED_BODY()
511 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
512 FString refresh_token = "";
513};
514
515USTRUCT(BlueprintType)
517{
518 GENERATED_BODY()
519 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
520 FString refresh_token = "";
521};
522
523USTRUCT(BlueprintType)
525{
526 GENERATED_BODY()
527 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
528 FString refresh_token = "";
529};
530
531USTRUCT(BlueprintType)
533{
534 GENERATED_BODY()
535 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
536 FString refresh_token = "";
537};
538
539USTRUCT(BlueprintType)
541{
542 GENERATED_BODY()
543 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
544 int32 game_id = 0;
545 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
546 int32 user_id = 0;
547 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
548 FString email = "";
549};
550
551USTRUCT(BlueprintType)
553{
554 GENERATED_BODY()
555 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LootLocker")
557};
558
559USTRUCT(BlueprintType)
561{
562 GENERATED_BODY()
563 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
565 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
567
569
571 {
572 this->success = LoginResponse.success;
573 this->StatusCode = LoginResponse.StatusCode;
574 this->session_token = LoginResponse.session_token;
575 this->FullTextFromServer = LoginResponse.FullTextFromServer;
576 this->LoginResponse = LoginResponse;
577 this->ErrorData = ErrorData;
578 this->Context = LoginResponse.Context;
579 }
580
582 {
583 this->success = SessionResponse.success;
584 this->StatusCode = SessionResponse.StatusCode;
585 this->session_token = SessionResponse.session_token;
586 this->FullTextFromServer = SessionResponse.FullTextFromServer;
587 this->LoginResponse = LoginResponse;
588 this->StartSessionResponse = SessionResponse;
589 this->ErrorData = ErrorData;
590 this->Context = SessionResponse.Context;
591 }
592};
593
594USTRUCT(BlueprintType)
596{
597 GENERATED_BODY()
598 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
599 FString refresh_token = "";
600};
601
602USTRUCT(BlueprintType)
604{
605 GENERATED_BODY()
606 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "LootLocker")
607 FString refresh_token = "";
608};
609
612
636
637
639UCLASS(ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))
640class LOOTLOCKERSDK_API ULootLockerAuthenticationRequestHandler : public UObject
641{
642 GENERATED_BODY()
643public:
645
646 static FString WhiteLabelCreateAccount(const FString& Email, const FString& Password, const FLootLockerLoginResponseDelegate& OnCompletedRequest);
647 static FString WhiteLabelCreateAccount(const FString& Email, const FString& Password, const TArray<FLootLockerWhiteLabelCustomSignUpFieldValue>& CustomFields, const FLootLockerLoginResponseDelegate& OnCompletedRequest);
648 static FString WhiteLabelLogin(const FString& Email, const FString& Password, const bool Remember, const FLootLockerLoginResponseDelegate& OnCompletedRequest);
650 static FString GuestLogin(const FString& playerIdentifier, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& OnCompletedRequest);
651 static FString WhiteLabelStartSessionManual(const FString& Email, const FString& WhiteLabelToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& OnCompletedRequest);
652 static FString WhiteLabelStartSession(const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& OnCompletedRequest);
653 static FString WhiteLabelVerifySession(const FLootLockerPlayerData& ForPlayer, const FLootLockerWhiteLabelVerifySessionDelegate& OnCompletedRequest);
654 static FString WhiteLabelRequestUserVerification(const int& UserId, const FLootLockerDefaultDelegate& OnCompletedRequest);
655 static FString WhiteLabelRequestUserVerificationByEmail(const FString& Email, const FLootLockerDefaultDelegate& OnCompletedRequest);
656 static FString WhiteLabelRequestPasswordReset(const FString& Email, const FLootLockerDefaultDelegate& OnCompletedRequest);
657 static FString StartPlaystationNetworkSession(const FString& PsnOnlineId, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& Delegate);
658 static FString VerifyPlayerAndStartPlaystationNetworkSession(const FString& AuthCode, const FString& AccountID, int PsnIssuerId, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& Delegate);
659 static FString VerifyPlayerAndStartPlaystationNetworkV3Session(const FString& AuthCode, int EnvIssuerId, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& Delegate);
660 static FString StartAndroidSession(const FString& DeviceId, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& Delegate);
661 static FString StartGoogleSession(const FString& IdToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerGoogleSessionResponseDelegate& OnCompletedRequest);
662 static FString StartGoogleSession(const FString& IdToken, const ELootLockerGoogleClientPlatform Platform, const FLootLockerSessionOptionals& Optionals, const FLootLockerGoogleSessionResponseDelegate& OnCompletedRequest);
663 static FString RefreshGoogleSession(const FString& RefreshToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerGoogleSessionResponseDelegate& OnCompletedRequest);
664 static FString StartGooglePlayGamesSession(const FString& IdToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerGooglePlayGamesSessionResponseDelegate& OnCompletedRequest);
665 static FString RefreshGooglePlayGamesSession(const FString& RefreshToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerGooglePlayGamesSessionResponseDelegate& OnCompletedRequest);
666 static FString StartEpicSession(const FString& IdToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerEpicSessionResponseDelegate& OnCompletedRequest);
667 static FString RefreshEpicSession(const FString& RefreshToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerEpicSessionResponseDelegate& OnCompletedRequest);
668 static FString StartAmazonLunaSession(const FString& AmazonLunaGuid, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& Delegate);
669 static FString StartSteamSession(const FString& SteamId64, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& Delegate);
670 static FString StartSteamSession(const FString& SteamSessionTicket, const FString& SteamAppId, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& Delegate);
671 static FString StartNintendoSwitchSession(const FString& NSAIdToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& OnCompletedRequest);
672 static FString StartXboxSession(const FString& XboxUserToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerSessionResponse& OnCompletedRequest);
673 static FString StartAppleSession(const FString& AuthorizationCode, const FLootLockerSessionOptionals& Optionals, const FLootLockerAppleSessionResponseDelegate& OnCompletedRequest);
674 static FString RefreshAppleSession(const FString& RefreshToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerAppleSessionResponseDelegate& OnCompletedRequest);
675 static FString VerifyPlayer(const FLootLockerPlayerData& ForPlayer, const FString& PlatformToken, const FString& Platform, const int SteamAppId = -1, const FLootLockerDefaultDelegate& OnCompletedRequest = FLootLockerDefaultDelegate());
676 static FString EndSession(const FLootLockerPlayerData& ForPlayer, const FLootLockerDefaultDelegate& OnCompletedRequest);
677 static FString WhiteLabelLoginAndStartSession(const FString& Email, const FString& Password, bool bRemember, const FLootLockerSessionOptionals& Optionals, const FLootLockerWhiteLabelLoginAndSessionResponseDelegate& LootLockerWhiteLabelLoginAndSessionResponseDelegate);
678 static FString StartAppleGameCenterSession(const FString& BundleId, const FString& PlayerId, const FString& PublicKeyUrl, const FString& Signature, const FString& Salt, const FString& Timestamp, const FLootLockerSessionOptionals& Optionals, const FLootLockerAppleGameCenterSessionResponseDelegate& OnCompletedRequest);
679 static FString RefreshAppleGameCenterSession(const FString& RefreshToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerAppleGameCenterSessionResponseDelegate& OnCompletedRequest);
680 static FString StartMetaSession(const FString& UserId, const FString& Nonce, const FLootLockerSessionOptionals& Optionals, const FLootLockerMetaSessionResponseDelegate& OnCompletedRequest);
681 static FString RefreshMetaSession(const FString& RefreshToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerMetaSessionResponseDelegate& OnCompletedRequest);
682 static FString StartDiscordSession(const FString& AccessToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerDiscordSessionResponseDelegate& OnCompletedRequest);
683 static FString RefreshDiscordSession(const FString& RefreshToken, const FLootLockerSessionOptionals& Optionals, const FLootLockerDiscordSessionResponseDelegate& OnCompletedRequest);
684
690 static void PrepareCustomFieldsJson(TSharedRef<FJsonObject> JsonObject);
691
692private:
693 template<typename RequestType>
694 static FString AuthRequestToJsonStringWithOptionals(const RequestType& AuthRequest, const FLootLockerSessionOptionals& Optionals);
695
696 static FString _TempWhiteLabelEmailHolder;
697 static FString _TempWhiteLabelTokenHolder;
698 static TMap<FString, FString> DomainKeyHeaders();
699};
void(* FLootLockerDefaultDelegate)(FLootLockerResponse)
Definition LootLockerResponse.h:38
Definition LootLockerAuthenticationRequestHandler.h:641
static FString WhiteLabelStartSessionManual(const FString &Email, const FString &WhiteLabelToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &OnCompletedRequest)
static FString GetWhiteLabelSignUpFields(const FLootLockerWhiteLabelSignUpFieldsResponseDelegate &OnCompletedRequest)
static FString RefreshMetaSession(const FString &RefreshToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerMetaSessionResponseDelegate &OnCompletedRequest)
static FString StartGooglePlayGamesSession(const FString &IdToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerGooglePlayGamesSessionResponseDelegate &OnCompletedRequest)
static FString WhiteLabelLogin(const FString &Email, const FString &Password, const bool Remember, const FLootLockerLoginResponseDelegate &OnCompletedRequest)
static FString VerifyPlayerAndStartPlaystationNetworkV3Session(const FString &AuthCode, int EnvIssuerId, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &Delegate)
static FString StartGoogleSession(const FString &IdToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerGoogleSessionResponseDelegate &OnCompletedRequest)
ULootLockerAuthenticationRequestHandler()
Definition LootLockerAuthenticationRequestHandler.h:644
static FString RefreshGoogleSession(const FString &RefreshToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerGoogleSessionResponseDelegate &OnCompletedRequest)
static FString StartAndroidSession(const FString &DeviceId, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &Delegate)
static FString StartMetaSession(const FString &UserId, const FString &Nonce, const FLootLockerSessionOptionals &Optionals, const FLootLockerMetaSessionResponseDelegate &OnCompletedRequest)
static FString StartSteamSession(const FString &SteamId64, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &Delegate)
static FString WhiteLabelStartSession(const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &OnCompletedRequest)
static FString VerifyPlayerAndStartPlaystationNetworkSession(const FString &AuthCode, const FString &AccountID, int PsnIssuerId, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &Delegate)
static FString WhiteLabelRequestPasswordReset(const FString &Email, const FLootLockerDefaultDelegate &OnCompletedRequest)
static FString StartEpicSession(const FString &IdToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerEpicSessionResponseDelegate &OnCompletedRequest)
static FString StartPlaystationNetworkSession(const FString &PsnOnlineId, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &Delegate)
static FString StartAppleGameCenterSession(const FString &BundleId, const FString &PlayerId, const FString &PublicKeyUrl, const FString &Signature, const FString &Salt, const FString &Timestamp, const FLootLockerSessionOptionals &Optionals, const FLootLockerAppleGameCenterSessionResponseDelegate &OnCompletedRequest)
static FString WhiteLabelVerifySession(const FLootLockerPlayerData &ForPlayer, const FLootLockerWhiteLabelVerifySessionDelegate &OnCompletedRequest)
static FString StartNintendoSwitchSession(const FString &NSAIdToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &OnCompletedRequest)
static FString WhiteLabelCreateAccount(const FString &Email, const FString &Password, const TArray< FLootLockerWhiteLabelCustomSignUpFieldValue > &CustomFields, const FLootLockerLoginResponseDelegate &OnCompletedRequest)
static FString RefreshDiscordSession(const FString &RefreshToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerDiscordSessionResponseDelegate &OnCompletedRequest)
static FString RefreshAppleSession(const FString &RefreshToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerAppleSessionResponseDelegate &OnCompletedRequest)
static FString StartAmazonLunaSession(const FString &AmazonLunaGuid, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &Delegate)
static FString StartDiscordSession(const FString &AccessToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerDiscordSessionResponseDelegate &OnCompletedRequest)
static FString WhiteLabelRequestUserVerification(const int &UserId, const FLootLockerDefaultDelegate &OnCompletedRequest)
static FString GuestLogin(const FString &playerIdentifier, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &OnCompletedRequest)
static FString RefreshAppleGameCenterSession(const FString &RefreshToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerAppleGameCenterSessionResponseDelegate &OnCompletedRequest)
static FString StartAppleSession(const FString &AuthorizationCode, const FLootLockerSessionOptionals &Optionals, const FLootLockerAppleSessionResponseDelegate &OnCompletedRequest)
static FString EndSession(const FLootLockerPlayerData &ForPlayer, const FLootLockerDefaultDelegate &OnCompletedRequest)
static void PrepareCustomFieldsJson(TSharedRef< FJsonObject > JsonObject)
Post-process a JSON object that may contain a "custom_fields" array with "value_json" string fields,...
static FString WhiteLabelCreateAccount(const FString &Email, const FString &Password, const FLootLockerLoginResponseDelegate &OnCompletedRequest)
static FString StartSteamSession(const FString &SteamSessionTicket, const FString &SteamAppId, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &Delegate)
static FString WhiteLabelRequestUserVerificationByEmail(const FString &Email, const FLootLockerDefaultDelegate &OnCompletedRequest)
static FString VerifyPlayer(const FLootLockerPlayerData &ForPlayer, const FString &PlatformToken, const FString &Platform, const int SteamAppId=-1, const FLootLockerDefaultDelegate &OnCompletedRequest=FLootLockerDefaultDelegate())
static FString StartXboxSession(const FString &XboxUserToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerSessionResponse &OnCompletedRequest)
static FString RefreshGooglePlayGamesSession(const FString &RefreshToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerGooglePlayGamesSessionResponseDelegate &OnCompletedRequest)
static FString WhiteLabelLoginAndStartSession(const FString &Email, const FString &Password, bool bRemember, const FLootLockerSessionOptionals &Optionals, const FLootLockerWhiteLabelLoginAndSessionResponseDelegate &LootLockerWhiteLabelLoginAndSessionResponseDelegate)
static FString RefreshEpicSession(const FString &RefreshToken, const FLootLockerSessionOptionals &Optionals, const FLootLockerEpicSessionResponseDelegate &OnCompletedRequest)
static FString StartGoogleSession(const FString &IdToken, const ELootLockerGoogleClientPlatform Platform, const FLootLockerSessionOptionals &Optionals, const FLootLockerGoogleSessionResponseDelegate &OnCompletedRequest)
void(* FLootLockerWhiteLabelLoginAndSessionResponseDelegate)(FLootLockerWhiteLabelLoginAndSessionResponse)
C++ response callback delegate; receives an FLootLockerWhiteLabelLoginAndSessionResponse result.
Definition LootLockerAuthenticationRequestHandler.h:627
void(* FLootLockerWhiteLabelSignUpFieldsResponseDelegate)(FLootLockerWhiteLabelSignUpFieldsResponse)
C++ response callback delegate; receives an FLootLockerWhiteLabelSignUpFieldsResponse result.
Definition LootLockerAuthenticationRequestHandler.h:635
void(* FLootLockerGoogleSessionResponseDelegate)(FLootLockerGoogleSessionResponse)
C++ response callback delegate; receives an FLootLockerGoogleSessionResponse result.
Definition LootLockerAuthenticationRequestHandler.h:617
void(* FLootLockerMetaSessionResponseDelegate)(FLootLockerMetaSessionResponse)
C++ response callback delegate; receives an FLootLockerMetaSessionResponse result.
Definition LootLockerAuthenticationRequestHandler.h:631
void(* FLootLockerAppleSessionResponseDelegate)(FLootLockerAppleSessionResponse)
C++ response callback delegate; receives an FLootLockerAppleSessionResponse result.
Definition LootLockerAuthenticationRequestHandler.h:615
void(* FLootLockerDiscordSessionResponseDelegate)(FLootLockerDiscordSessionResponse)
C++ response callback delegate; receives an FLootLockerDiscordSessionResponse result.
Definition LootLockerAuthenticationRequestHandler.h:633
void(* FLootLockerWhiteLabelVerifySessionDelegate)(FLootLockerWhiteLabelVerifySessionResponse)
C++ response callback delegate; receives an FLootLockerWhiteLabelVerifySessionResponse result.
Definition LootLockerAuthenticationRequestHandler.h:625
void(* FLootLockerAppleGameCenterSessionResponseDelegate)(FLootLockerAppleGameCenterSessionResponse)
C++ response callback delegate; receives an FLootLockerAppleGameCenterSessionResponse result.
Definition LootLockerAuthenticationRequestHandler.h:629
void(* FLootLockerSessionResponse)(FLootLockerAuthenticationResponse)
C++ response callback delegate; receives an FLootLockerAuthenticationResponse result.
Definition LootLockerAuthenticationRequestHandler.h:613
void(* FLootLockerEpicSessionResponseDelegate)(FLootLockerEpicSessionResponse)
C++ response callback delegate; receives an FLootLockerEpicSessionResponse result.
Definition LootLockerAuthenticationRequestHandler.h:621
void(* FLootLockerLoginResponseDelegate)(FLootLockerLoginResponse)
C++ response callback delegate; receives an FLootLockerLoginResponse result.
Definition LootLockerAuthenticationRequestHandler.h:623
ELootLockerGoogleClientPlatform
Google OAuth2 Client platform.
Definition LootLockerAuthenticationRequestHandler.h:20
void(* FLootLockerGooglePlayGamesSessionResponseDelegate)(FLootLockerGooglePlayGamesSessionResponse)
C++ response callback delegate; receives an FLootLockerGooglePlayGamesSessionResponse result.
Definition LootLockerAuthenticationRequestHandler.h:619
Definition LootLockerAuthenticationRequestHandler.h:204
Definition LootLockerAuthenticationRequestHandler.h:509
Definition LootLockerAuthenticationRequestHandler.h:232
Definition LootLockerAuthenticationRequestHandler.h:501
Definition LootLockerAuthenticationRequestHandler.h:30
FString session_token
The session token that can now be used to use further LootLocker functionality.
Definition LootLockerAuthenticationRequestHandler.h:36
Definition LootLockerAuthenticationRequestHandler.h:132
Definition LootLockerAuthenticationRequestHandler.h:420
Definition LootLockerAuthenticationRequestHandler.h:122
Definition LootLockerAuthenticationRequestHandler.h:352
Definition LootLockerAuthenticationRequestHandler.h:604
Definition LootLockerAuthenticationRequestHandler.h:398
Definition LootLockerAuthenticationRequestHandler.h:288
Definition LootLockerAuthenticationRequestHandler.h:533
Definition LootLockerAuthenticationRequestHandler.h:272
Definition LootLockerAuthenticationRequestHandler.h:525
Definition LootLockerAuthenticationRequestHandler.h:256
Definition LootLockerAuthenticationRequestHandler.h:248
Definition LootLockerAuthenticationRequestHandler.h:517
Definition LootLockerAuthenticationRequestHandler.h:406
Definition LootLockerAuthenticationRequestHandler.h:71
Definition LootLockerAuthenticationRequestHandler.h:98
Definition LootLockerAuthenticationRequestHandler.h:596
Definition LootLockerAuthenticationRequestHandler.h:170
Definition LootLockerPlayerData.h:12
Definition LootLockerAuthenticationRequestHandler.h:330
Definition LootLockerAuthenticationRequestHandler.h:316
Definition LootLockerAuthenticationRequestHandler.h:223
Definition LootLockerAuthenticationRequestHandler.h:240
Definition LootLockerAuthenticationRequestHandler.h:360
Definition LootLockerAuthenticationRequestHandler.h:296
Definition LootLockerAuthenticationRequestHandler.h:280
Definition LootLockerAuthenticationRequestHandler.h:264
Definition LootLockerAuthenticationRequestHandler.h:188
Base response struct — every SDK callback receives a struct that derives from this.
Definition LootLockerResponse.h:19
bool success
Whether this request was a success.
Definition LootLockerResponse.h:23
FLootLockerRequestContext Context
Context for the request.
Definition LootLockerResponse.h:35
int StatusCode
HTTP Status code from the request to LootLockers backend.
Definition LootLockerResponse.h:26
FString FullTextFromServer
Raw text/http body from the server response.
Definition LootLockerResponse.h:29
Optional parameters that can be sent when starting a session.
Definition LootLockerSessionOptionals.h:12
Definition LootLockerAuthenticationRequestHandler.h:178
Definition LootLockerAuthenticationRequestHandler.h:344
Definition LootLockerAuthenticationRequestHandler.h:368
Definition LootLockerAuthenticationRequestHandler.h:390
Definition LootLockerAuthenticationRequestHandler.h:304
Definition LootLockerAuthenticationRequestHandler.h:376
Definition LootLockerAuthenticationRequestHandler.h:142
Definition LootLockerAuthenticationRequestHandler.h:81
Definition LootLockerAuthenticationRequestHandler.h:41
Definition LootLockerAuthenticationRequestHandler.h:51
Definition LootLockerAuthenticationRequestHandler.h:561
FLootLockerWhiteLabelLoginAndSessionResponse(const FLootLockerLoginResponse &LoginResponse, const FLootLockerAuthenticationResponse &SessionResponse)
Definition LootLockerAuthenticationRequestHandler.h:581
Definition LootLockerAuthenticationRequestHandler.h:89
Definition LootLockerAuthenticationRequestHandler.h:162
Definition LootLockerAuthenticationRequestHandler.h:553
Definition LootLockerAuthenticationRequestHandler.h:152
Definition LootLockerAuthenticationRequestHandler.h:541
Definition LootLockerAuthenticationRequestHandler.h:196