5#include "XsollaLoginTypes.h"
7#include "XsollaUtilsDataModel.h"
8#include "XsollaUtilsHttpRequestHelper.h"
10#include "Blueprint/UserWidget.h"
11#include "Subsystems/GameInstanceSubsystem.h"
12#include "Subsystems/SubsystemCollection.h"
13#include "XsollaUtilsDataModel.h"
15#include "XsollaLoginSubsystem.generated.h"
20class FXsollaLoginHttpServer;
23DECLARE_DYNAMIC_DELEGATE(FOnRequestSuccess);
24DECLARE_DYNAMIC_DELEGATE(FOnSocialLinkingSuccess);
25DECLARE_DELEGATE_ThreeParams(FOnLoginDataError, int32, int32,
const FString&);
27DECLARE_DYNAMIC_DELEGATE_OneParam(FOnAuthUpdate,
const FXsollaLoginData&, LoginData);
28DECLARE_DYNAMIC_DELEGATE_OneParam(FOnSocialUrlReceived,
const FString&, Url);
29DECLARE_DYNAMIC_DELEGATE_OneParam(FOnSocialAccountLinkingHtmlReceived,
const FString&, Content);
30DECLARE_DYNAMIC_DELEGATE_TwoParams(FOnAuthError,
const FString&, Code,
const FString&, Description);
31DECLARE_DYNAMIC_DELEGATE_OneParam(FOnCodeReceived,
const FString&, Code);
32DECLARE_DYNAMIC_DELEGATE_TwoParams(FOnUserFriendsUpdate,
const FXsollaFriendsData&, FriendsData, EXsollaFriendsType, type);
34DECLARE_DYNAMIC_DELEGATE_OneParam(FOnUserProfileReceived,
const FXsollaPublicProfile&, UserProfile);
37DECLARE_DYNAMIC_DELEGATE_OneParam(FOnAccessTokenLoginSuccess, FString, AccessToken);
38DECLARE_DYNAMIC_DELEGATE_OneParam(FOnLinkEmailAndPasswordSuccess,
bool, bNeedToConfirmEmail);
39DECLARE_DYNAMIC_DELEGATE_OneParam(FOnStartAuthSuccess, FString, OperationId);
40DECLARE_DYNAMIC_DELEGATE_TwoParams(FOnAuthCodeSuccess,
const FString&, Code,
const FString&, OperationId);
41DECLARE_DYNAMIC_DELEGATE_OneParam(FOnAuthCodeTimeout,
const FString&, OperationId);
42DECLARE_DYNAMIC_DELEGATE_OneParam(FOnUserAttributesUpdate,
const TArray<FXsollaUserAttribute>&, UserAttributes);
43DECLARE_DYNAMIC_DELEGATE_OneParam(FOnUserDetailsUpdate,
const FXsollaUserDetails&, UserDetails);
44DECLARE_DYNAMIC_DELEGATE_OneParam(FOnUserDetailsParamUpdate,
const FString&, Param);
45DECLARE_DYNAMIC_DELEGATE_OneParam(FOnSocialAuthLinksUpdate,
const TArray<FXsollaSocialAuthLink>&, Links);
46DECLARE_DYNAMIC_DELEGATE_OneParam(FOnLinkedSocialNetworksUpdate,
const TArray<FXsollaLinkedSocialNetworkData>&, LinkedSocialNetworks);
47DECLARE_DYNAMIC_DELEGATE_OneParam(FOnUserDevicesUpdate,
const TArray<FXsollaUserDevice>&, UserDevices);
48DECLARE_DYNAMIC_DELEGATE(FOnAuthCancel);
59 virtual void Initialize(FSubsystemCollectionBase& Collection)
override;
60 virtual void Deinitialize()
override;
69 UFUNCTION(BlueprintCallable, Category =
"Xsolla|Login")
70 void Initialize(const FString& InProjectId, const FString& InLoginId, const FString& InClientId);
87 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
88 void RegisterUser(const FString& Username, const FString& Password, const FString& Email, const FString& State, const FString& Locale,
89 const
bool PersonalDataProcessingConsent, const
bool ReceiveNewsConsent, const TMap<FString, FString>& AdditionalFields,
90 const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
102 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
103 void ResendAccountConfirmationEmail(const FString& Username, const FString& State, const FString& Locale,
104 const FOnRequestSuccess& SuccessCallback, const FOnAuthError& ErrorCallback);
115 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
116 void AuthenticateUser(const FString& Username, const FString& Password,
117 const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback, const
bool bRememberMe = false);
132 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (WorldContext = "WorldContextObject", AutoCreateRefTerm = "SuccessCallback, CancelCallback, ErrorCallback"))
134 const FOnAuthUpdate& SuccessCallback, const FOnAuthCancel& CancelCallback, const FOnAuthError& ErrorCallback, const
bool bRememberMe = false,
135 const FString& Locale = TEXT(""), const FString& State = TEXT("xsollatest"));
146 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
147 void ResetUserPassword(const FString& User, const FString& Locale, const FOnRequestSuccess& SuccessCallback, const FOnAuthError& ErrorCallback);
154 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
155 void ValidateToken(const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
166 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "AdditionalFields, SuccessCallback, ErrorCallback"))
167 void GetSocialAuthenticationUrl(const FString& ProviderName, const FString& State,
168 const FOnSocialUrlReceived& SuccessCallback, const FOnAuthError& ErrorCallback);
177 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (WorldContext = "WorldContextObject"))
178 void LaunchSocialAuthentication(UObject* WorldContextObject, UUserWidget*& BrowserWidget, const
bool bRememberMe = false);
190 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, CancelCallback, ErrorCallback"))
191 void LaunchNativeSocialAuthentication(const FString& ProviderName,
192 const FOnAuthUpdate& SuccessCallback, const FOnAuthCancel& CancelCallback, const FOnAuthError& ErrorCallback, const
bool bRememberMe = false, const FString& State = TEXT("xsollatest"));
204 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login")
205 void AuthenticateViaSocialNetwork(const FString& ProviderName,
206 const FOnAuthUpdate& SuccessCallback, const FOnAuthCancel& CancelCallback, const FOnAuthError& ErrorCallback,
207 const
bool bRememberMe = false, const FString& State = TEXT("xsollatest"));
213 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login")
214 void SetToken(const FString& Token);
222 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
223 void RefreshToken(const FString& RefreshToken, const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
232 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
233 void ExchangeAuthenticationCodeToToken(const FString& AuthenticationCode, const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
247 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login")
248 void AuthenticateWithSessionTicket(const FString& ProviderName, const FString& SessionTicket, const FString& Code,
249 const FString& AppId, const FString& State,
250 const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback, const FString& Scope = TEXT(""));
261 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "AttributeKeys, SuccessCallback, ErrorCallback"))
262 void GetUserAttributes(const FString& AuthToken, const FString& UserId, const TArray<FString>& AttributeKeys,
263 const FOnUserAttributesUpdate& SuccessCallback, const FOnError& ErrorCallback);
273 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "AttributeKeys, SuccessCallback, ErrorCallback"))
274 void GetUserReadOnlyAttributes(const FString& AuthToken, const FString& UserId, const TArray<FString>& AttributeKeys,
275 const FOnUserAttributesUpdate& SuccessCallback, const FOnError& ErrorCallback);
287 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
289 const FOnRequestSuccess& SuccessCallback, const FOnError& ErrorCallback);
299 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
300 void RemoveUserAttributes(const FString& AuthToken, const TArray<FString>& AttributesToRemove, const FOnRequestSuccess& SuccessCallback, const FOnError& ErrorCallback);
309 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
310 void CreateAccountLinkingCode(const FString& AuthToken, const FOnCodeReceived& SuccessCallback, const FOnError& ErrorCallback);
319 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
320 void CheckUserAge(const FString& DateOfBirth, const FOnCheckUserAgeSuccess& SuccessCallback, const FOnAuthError& ErrorCallback);
333 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
334 void LinkEmailAndPassword(const FString& AuthToken, const FString& Email, const FString& Password, const
bool ReceiveNewsConsent, const FString& Username,
335 const FOnLinkEmailAndPasswordSuccess& SuccessCallback, const FOnError& ErrorCallback);
349 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
350 void LinkDeviceToAccount(const FString& AuthToken, const FString& PlatformName, const FString& DeviceName, const FString& DeviceId,
351 const FOnRequestSuccess& SuccessCallback, const FOnError& ErrorCallback);
363 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
364 void UnlinkDeviceFromAccount(const FString& AuthToken, const int64 DeviceId,
365 const FOnRequestSuccess& SuccessCallback, const FOnError& ErrorCallback);
378 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
379 void AuthenticateViaDeviceId(const FString& DeviceName, const FString& DeviceId, const FString& State,
380 const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
392 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
393 void AuthViaAccessTokenOfSocialNetwork(const FString& AuthToken, const FString& AuthTokenSecret, const FString& OpenId,
394 const FString& ProviderName, const FString& State,
395 const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
405 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
406 void StartAuthByPhoneNumber(const FString& PhoneNumber, const FString& State,
407 const FOnStartAuthSuccess& SuccessCallback, const FOnAuthError& ErrorCallback);
418 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
419 void CompleteAuthByPhoneNumber(const FString& Code, const FString& OperationId, const FString& PhoneNumber,
420 const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
430 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
431 void StartAuthByEmail(const FString& Email, const FString& State,
432 const FOnStartAuthSuccess& SuccessCallback, const FOnAuthError& ErrorCallback);
443 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
444 void CompleteAuthByEmail(const FString& Code, const FString& OperationId, const FString& Email,
445 const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
455 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, TimeoutCallback, ErrorCallback"))
456 void GetAuthConfirmationCode(const FString& UserId, const FString& OperationId,
457 const FOnAuthCodeSuccess& SuccessCallback, const FOnAuthCodeTimeout& TimeoutCallback, const FOnAuthError& ErrorCallback);
466 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
467 void GetUserDetails(const FString& AuthToken, const FOnUserDetailsUpdate& SuccessCallback, const FOnError& ErrorCallback);
481 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
482 void ModifyUserDetails(const FString& AuthToken, const FString& Birthday, const FString& FirstName, const FString& LastName, const FString& Gender, const FString& Nickname,
483 const FOnUserDetailsUpdate& SuccessCallback, const FOnError& ErrorCallback);
492 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
493 void GetUserEmail(const FString& AuthToken, const FOnUserDetailsParamUpdate& SuccessCallback, const FOnError& ErrorCallback);
502 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
503 void GetUserPhoneNumber(const FString& AuthToken, const FOnUserDetailsParamUpdate& SuccessCallback, const FOnError& ErrorCallback);
513 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
514 void ModifyUserPhoneNumber(const FString& AuthToken, const FString& PhoneNumber, const FOnUserDetailsParamUpdate& SuccessCallback, const FOnError& ErrorCallback);
524 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
525 void RemoveUserPhoneNumber(const FString& AuthToken, const FString& PhoneNumber, const FOnRequestSuccess& SuccessCallback, const FOnError& ErrorCallback);
535 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
536 void ModifyUserProfilePicture(const FString& AuthToken, UTexture2D* const Picture, const FOnUserDetailsParamUpdate& SuccessCallback, const FOnError& ErrorCallback);
545 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
546 void RemoveProfilePicture(const FString& AuthToken, const FOnRequestSuccess& SuccessCallback, const FOnError& ErrorCallback);
559 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
560 void GetFriends(const FString& AuthToken, const EXsollaFriendsType Type, const EXsollaUsersSortCriteria SortBy, const EXsollaUsersSortOrder SortOrder,
561 const FOnUserFriendsUpdate& SuccessCallback, const FOnError& ErrorCallback, const FString& After, const
int Limit = 20);
571 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
572 void ModifyFriends(const FString& AuthToken, const EXsollaFriendAction Action, const FString& UserID, const FOnRequestSuccess& SuccessCallback, const FOnError& ErrorCallback);
584 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
585 void GetSocialAuthLinks(const FString& AuthToken, const FString& Locale, const FOnSocialAuthLinksUpdate& SuccessCallback, const FOnError& ErrorCallback);
597 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
598 void GetSocialFriends(const FString& AuthToken, const FString& Platform,
599 const FOnUserSocialFriendsUpdate& SuccessCallback, const FOnError& ErrorCallback, const
int Offset = 0, const
int Limit = 500, const
bool FromThisGame = false);
608 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
609 void GetUsersFriends(const FString& AuthToken, const FString& Platform, const FOnCodeReceived& SuccessCallback, const FOnError& ErrorCallback);
618 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
619 void GetUserProfile(const FString& AuthToken, const FString& UserID, const FOnUserProfileReceived& SuccessCallback, const FOnError& ErrorCallback);
628 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
629 void GetUsersDevices(const FString& AuthToken, const FOnUserDevicesUpdate& SuccessCallback, const FOnError& ErrorCallback);
640 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
641 void SearchUsersByNickname(const FString& AuthToken, const FString& Nickname,
642 const FOnUserSearchUpdate& SuccessCallback, const FOnError& ErrorCallback, const
int Offset = 0, const
int Limit = 100);
653 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
654 void GetUrlToLinkSocialNetworkToUserAccount(const FString& AuthToken, const FString& ProviderName,
655 const FOnSocialAccountLinkingHtmlReceived& SuccessCallback, const FOnError& ErrorCallback);
667 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (WorldContext = "WorldContextObject", AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
668 void LinkSocialProvider(UObject* WorldContextObject, const FString& AuthToken, const FString& ProviderName,
669 const FOnSocialLinkingSuccess& SuccessCallback, const FOnError& ErrorCallback);
680 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
681 void UnlinkSocialProvider(const FString& AuthToken, const FString& ProviderName,
682 const FOnRequestSuccess& SuccessCallback, const FOnError& ErrorCallback);
690 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
691 void GetLinkedSocialNetworks(const FString& AuthToken, const FOnLinkedSocialNetworksUpdate& SuccessCallback, const FOnError& ErrorCallback);
700 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login", meta = (AutoCreateRefTerm = "SuccessCallback, ErrorCallback"))
701 void LogoutUser(const FString& AuthToken, const EXsollaSessionType Sessions,
702 const FOnRequestSuccess& SuccessCallback, const FOnError& ErrorCallback);
705 void Default_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
706 FOnRequestSuccess SuccessCallback, FOnAuthError ErrorCallback);
707 void DefaultWithHandlerWrapper_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
708 FOnRequestSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
709 void UserLogin_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
710 FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
711 void TokenVerify_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
712 FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
713 void SocialAuthUrl_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
714 FOnSocialUrlReceived SuccessCallback, FOnAuthError ErrorCallback);
715 void GetUserAttributes_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
716 FOnUserAttributesUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
717 void GetReadOnlyUserAttributes_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
718 FOnUserAttributesUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
719 void AccountLinkingCode_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
720 FOnCodeReceived SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
721 void CheckUserAge_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
722 FOnCheckUserAgeSuccess SuccessCallback, FOnAuthError ErrorCallback);
723 void DeviceId_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
724 FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
725 void RefreshToken_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
726 FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
727 void InnerRefreshToken_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
728 FOnLoginDataUpdate SuccessCallback, FOnLoginDataError ErrorCallback);
729 void SessionTicket_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
730 FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
731 void AuthViaAccessTokenOfSocialNetwork_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
732 FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
733 void StartAuth_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
734 FOnStartAuthSuccess SuccessCallback, FOnAuthError ErrorCallback);
735 void CompleteAuthByPhoneNumber_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
736 FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
737 void CompleteAuthByEmail_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
738 FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
739 void GetAuthConfirmationCode_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
740 FOnAuthCodeSuccess SuccessCallback, FOnAuthCodeTimeout TimeoutCallback, FOnAuthError ErrorCallback);
741 void UserDetails_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
742 FOnUserDetailsUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
743 void UserEmail_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
744 FOnUserDetailsParamUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
745 void UserPhoneNumber_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
746 FOnUserDetailsParamUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
747 void ModifyPhoneNumber_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
748 FOnUserDetailsParamUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
749 void RemovePhoneNumber_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
750 FOnRequestSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
751 void UserProfilePicture_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
752 FOnUserDetailsParamUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
753 void UserProfilePictureRemove_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
754 FOnRequestSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
755 void UserFriends_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
756 FOnUserFriendsUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
757 void SocialAuthLinks_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
758 FOnSocialAuthLinksUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
759 void SocialFriends_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
760 FOnUserSocialFriendsUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
761 void GetUsersFriends_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
762 FOnCodeReceived SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
763 void UserProfile_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
764 FOnUserProfileReceived SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
765 void UserSearch_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
766 FOnUserSearchUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
767 void SocialAccountLinking_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
768 FOnSocialAccountLinkingHtmlReceived SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
769 void LinkedSocialNetworks_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
770 FOnLinkedSocialNetworksUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
771 void GetUsersDevices_HttpRequestComplete(const FHttpRequestPtr HttpRequest, const FHttpResponsePtr HttpResponse,
772 const
bool bSucceeded, FOnUserDevicesUpdate SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
773 void LinkEmailAndPassword_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
774 FOnLinkEmailAndPasswordSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
775 void RegisterUser_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
776 FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
777 void LogoutUser_HttpRequestComplete(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded,
778 FOnRequestSuccess SuccessCallback, FErrorHandlersWrapper ErrorHandlersWrapper);
781 void HandleOAuthTokenRequest(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse,
bool bSucceeded, FOnAuthError& ErrorCallback, FOnAuthUpdate& SuccessCallback);
784 void HandleUrlWithCodeRequest(FHttpRequestPtr HttpRequest, FHttpResponsePtr HttpResponse, const
bool bSucceeded, FOnAuthUpdate SuccessCallback, FOnAuthError ErrorCallback);
787 void HandleAskFieldsAuthentication(const FString& LoginUrl, const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
790 void HandleRequestOAuthError(XsollaHttpRequestError ErrorData, FOnAuthError ErrorCallback);
792 void InnerRefreshToken(const FString& RefreshToken, const FOnLoginDataUpdate& SuccessCallback, const FOnLoginDataError& ErrorCallback);
796 TSharedRef<IHttpRequest, ESPMode::ThreadSafe> CreateHttpRequest(const FString& Url, const EXsollaHttpRequestVerb Verb = EXsollaHttpRequestVerb::VERB_GET,
797 const FString& Content = FString(), const FString& AuthToken = FString(), const
bool skipLogging = false);
800 void SetStringArrayField(TSharedPtr<FJsonObject> Object, const FString& FieldName, const TArray<FString>& Array) const;
813 UFUNCTION(BlueprintPure, Category = "Xsolla|Login")
817 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login")
821 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login")
822 void UpdateAuthTokenData(const FString& AccessToken,
int ExpiresIn, const FString& RefreshToken,
bool bRememberMe = true);
825 UFUNCTION(BlueprintCallable, Category = "Xsolla|Login")
826 void DropLoginData(const
bool ClearCache = true);
829 void LoadSavedData();
834 void HandleRequestError(const XsollaHttpRequestError& ErrorData, FErrorHandlersWrapper ErrorHandlersWrapper);
840 void SocialAuthUrlReceivedCallback(const FString& Url);
843 void SocialLinkingUrlReceivedCallback(const FString& Url);
853 FOnAuthUpdate NativeSuccessCallback;
856 FOnSocialLinkingSuccess CachedSocialLinkingSuccessCallback;
859 FOnError CachedSocialLinkingErrorCallback;
862 UObject* CachedWorldContextObject;
865 FOnAuthCancel NativeCancelCallback;
868 FOnAuthError NativeErrorCallback;
870 TSharedPtr<FXsollaLoginHttpServer> HttpServer;
872 void OnAuthParamsReceived(const TMap<FString, FString>& Params);
874 void ExchangeAuthenticationCodeToToken(const FString& AuthenticationCode, const FString& RedirectUri, const FOnAuthUpdate& SuccessCallback, const FOnAuthError& ErrorCallback);
Definition: XsollaLoginBrowserWrapper.h:16
Definition: XsollaLoginSubsystem.h:52
Definition: XsollaSocialLinkingBrowserWrapper.h:16
Definition: XsollaLoginTypes.h:418
Definition: XsollaLoginTypes.h:265
Definition: XsollaLoginTypes.h:89
Definition: XsollaLoginTypes.h:344
Definition: XsollaLoginTypes.h:316
Definition: XsollaLoginTypes.h:116
Definition: XsollaLoginTypes.h:171
Definition: XsollaLoginTypes.h:376