Loading...
Searching...
No Matches
AccelByte::BaseCredentials Class Referenceabstract

Singleton class for storing credentials. More...

#include <AccelByteBaseCredentials.h>

Inheritance diagram for AccelByte::BaseCredentials:

Public Types

enum class  ESessionState {
  Invalid , Expired , Rejected , Refreshing ,
  Valid
}

Public Member Functions

 DECLARE_EVENT_OneParam (Credentials, FTokenRefreshedEvent, bool)
virtual void ForgetAll ()
 Forgets post-auth info, but pre-auth (such as setting email) will remain.
void SetClientCredentials (const FString &InClientId, const FString &InClientSecret)
virtual void SetClientCredentials (const ESettingsEnvironment Environment)=0
virtual void PollRefreshToken (double CurrentTime)
virtual void ScheduleRefreshToken (double NextRefreshTime)
FTokenRefreshedEvent & OnTokenRefreshed ()
virtual void Startup ()
virtual void Shutdown ()
const FString & GetOAuthClientId () const
const FString & GetOAuthClientSecret () const
virtual bool SetAuthToken (FOauth2Token const &InAuthToken, float CurrentTime)
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

virtual bool Tick (float DeltaTime)
void SetSessionState (ESessionState NewState)
virtual void CalculateBackoffRetry (float CurrentTime)
virtual void CalculateNextRefreshToken ()
virtual void SendRefreshToken ()=0
virtual void SetTickerDelegate (FTickerDelegate const &InDelegate)

Protected Attributes

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.

Detailed Description

Singleton class for storing credentials.

Member Function Documentation

◆ ForgetAll()

void AccelByte::BaseCredentials::ForgetAll ( )
virtual

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

Reimplemented in AccelByte::Credentials, and AccelByte::ServerCredentials.