Loading...
Searching...
No Matches
AccelByte::Credentials Class Reference

Singleston class for storing credentials. More...

#include <AccelByteCredentials.h>

Inheritance diagram for AccelByte::Credentials:

Public Member Functions

 DECLARE_MULTICAST_DELEGATE_OneParam (FOnLoginSuccessDelegate, const FOauth2Token &)
 DECLARE_MULTICAST_DELEGATE_OneParam (FRefreshTokenAdditionalActions, bool)
 DECLARE_MULTICAST_DELEGATE (FOnLogoutSuccessDelegate)
 Credentials (FHttpRetrySchedulerBase &InHttpRef, FAccelByteMessagingSystem &MessagingRef, FString const &IamServerUrl)
FOnLoginSuccessDelegate & OnLoginSuccess ()
 The user was just authed: At this point, Credential auth tokens are already set.
FOnLogoutSuccessDelegate & OnLogoutSuccess ()
 The user was just Logged out : At this point, Credential auth tokens are already removed.
virtual void ForgetAll () override
 Forgets post-auth info, but pre-auth (such as setting email) will remain.
virtual void SetClientCredentials (const ESettingsEnvironment Environment) override
virtual bool SetAuthToken (const FOauth2Token &NewAuthToken, float CurrentTime) override
void SetUserEmailAddress (const FString &EmailAddress)
void SetUserName (const FString &UserName)
void SetUserDisplayName (const FString &UserDisplayName)
void SetBearerAuthRejectedHandler (FHttpRetrySchedulerBase &InHttpRef)
void SetAccountUserData (const FAccountUserData &InAccountUserData)
void SetThridPartyPlatformTokenData (const FString &PlatformId, const FThirdPartyPlatformTokenData &ThirdPartyPlatformTokenData)
void ClearThridPartyPlatformTokenData ()
FString GetUserDisplayName () const
FString GetUserEmailAddress () const
FString GetUserName () const
FAccountUserData GetAccountUserData () const
const TMap< FString, FThirdPartyPlatformTokenData > & GetThridPartyPlatformTokenData () const
bool IsSessionValid () const
bool IsComply () const
virtual void Startup () override
void SetClientCredentials (const FString &InClientId, const FString &InClientSecret)
Public Member Functions inherited from AccelByte::BaseCredentials
 DECLARE_EVENT_OneParam (Credentials, FTokenRefreshedEvent, bool)
void SetClientCredentials (const FString &InClientId, const FString &InClientSecret)
virtual void PollRefreshToken (double CurrentTime)
virtual void ScheduleRefreshToken (double NextRefreshTime)
FTokenRefreshedEvent & OnTokenRefreshed ()
virtual void Shutdown ()
const FString & GetOAuthClientId () const
const FString & GetOAuthClientSecret () const
virtual const FOauth2TokenGetAuthToken () const
virtual const FString & GetAccessToken () const
virtual const FString & GetNamespace () const
ESessionState GetSessionState () const
virtual const FString & GetUserId () const
const TMap< FString, FString > GetAuthHeader () const
virtual const FErrorOAuthInfoGetErrorOAuth () const
virtual void SetErrorOAuth (const FErrorOAuthInfo &ErrorOAuthInfo)
virtual FString GetRefreshToken () const
virtual FString GetPlatformUserId () const
virtual FString GetSimultaneousPlatformId () const
virtual FString GetSimultaneousPlatformUserId () const
virtual FString GetSimultaneousPlatformUserIdByPlatformName (const FString &PlatformName) const
virtual FString GetDisplayName () const
virtual FString GetUniqueDisplayName () const
virtual FString GetLinkingToken () const
virtual double GetMinExpireDuration () const
virtual double GetRefreshWindowPercentage () const
virtual double GetMinRefreshWindow () const
virtual double GetMaxRefreshWindow () const
virtual double GetExpireTimeBuffer () const
virtual double GetExpireTime () const
virtual void SetExpireTime (double InExpireTime)
virtual double GetRefreshTime () const
virtual void SetRefreshTime (double InRefreshTime)
virtual double GetExpireDuration () const
virtual void SetExpireDuration (double InExpireDuration)
virtual double GetRefreshWindow () const
virtual double GetRefreshBackoffTime () const
void SetClientId (const FString &InClientId)

Protected Member Functions

void OnBearerAuthRejected (FHttpRetrySchedulerWPtr HttpWPtr)
void OnBearerAuthRefreshed (bool bSuccessful, FHttpRetrySchedulerWPtr HttpWPtr)
virtual void SendRefreshToken () override
void OnRefreshTokenSuccessful (FOauth2TokenV4 const &Token)
void OnRefreshTokenFailed (int32 ErrorCode, FString const &ErrorMessage, FErrorOAuthInfo const &OAuthError)
Protected Member Functions inherited from AccelByte::BaseCredentials
virtual bool Tick (float DeltaTime)
void SetSessionState (ESessionState NewState)
virtual void CalculateBackoffRetry (float CurrentTime)
virtual void CalculateNextRefreshToken ()
virtual void SetTickerDelegate (FTickerDelegate const &InDelegate)

Protected Attributes

Api::Oauth2 Oauth
FString UserName
FString IamServerUrl
FRWLock RefreshTokenAdditionalActionsMtx
FRefreshTokenAdditionalActions RefreshTokenAdditionalActions
FRWLock LoginSuccessDelegateMtx
FOnLoginSuccessDelegate LoginSuccessDelegate {}
FRWLock LogoutSuccessDelegateMtx
FOnLogoutSuccessDelegate LogoutSuccessDelegate {}
FRWLock AccountUserDataMtx
FAccountUserData AccountUserData
FRWLock ThirdPartyPlatformTokenDataMtx
TMap< FString, FThirdPartyPlatformTokenDataThirdPartyPlatformTokenData
FAccelByteMessagingSystemWPtr MessagingSystemWPtr
FRWLock RefreshTokenTaskMtx
FAccelByteTaskWPtr RefreshTokenTask
FRWLock BearerAuthRejectedHandleMtx
FDelegateHandle BearerAuthRejectedHandle
Protected Attributes inherited from AccelByte::BaseCredentials
const double MinExpireDuration = 300.0f
 The minimum ExpireDuration in seconds. Current: 300 seconds.
const double RefreshWindowPercentage = 0.25f
 The percentage for RefreshWindow based on ExpireDuration value. Current: 25%.
const double MinRefreshWindow = 180.0f
 Minimum RefreshWindow cap limit. Current: 180 seconds.
const double MaxRefreshWindow = 600.0f
 Maximum RefreshWindow cap limit. Current: 600 seconds.
const double ExpireTimeBuffer = 10.0f
 Buffer for Expire time. Current: 10 seconds.
const double InitialBackoffPercentage = 0.05f
 Percentage value of RefreshWindow to get initial Backoff time. Current: 5%.
const double BackoffMultiplier = 2.0f
 Multiplier for Backofftime from the previous value. Current: 2.

Additional Inherited Members

Public Types inherited from AccelByte::BaseCredentials
enum class  ESessionState {
  Invalid , Expired , Rejected , Refreshing ,
  Valid
}

Detailed Description

Singleston class for storing credentials.

Member Function Documentation

◆ ForgetAll()

void AccelByte::Credentials::ForgetAll ( )
overridevirtual

Forgets post-auth info, but pre-auth (such as setting email) will remain.

Reimplemented from AccelByte::BaseCredentials.

◆ SendRefreshToken()

void AccelByte::Credentials::SendRefreshToken ( )
overrideprotectedvirtual

◆ SetAuthToken()

bool AccelByte::Credentials::SetAuthToken ( const FOauth2Token & NewAuthToken,
float CurrentTime )
overridevirtual

Reimplemented from AccelByte::BaseCredentials.

◆ SetClientCredentials()

void AccelByte::Credentials::SetClientCredentials ( const ESettingsEnvironment Environment)
overridevirtual

◆ Startup()

void AccelByte::Credentials::Startup ( )
overridevirtual

Reimplemented from AccelByte::BaseCredentials.