EOS_ELoginCredentialType

EOS API reference page for EOS_ELoginCredentialType

This enumerated type is part of the Auth Interface.

Remarks

All possible types of login methods, availability depends on permissions granted to the client.

See Also

EOS_Auth_Login, EOS_Auth_Credentials

Values

Enumerated Value

Meaning

EOS_LCT_Password

Login using account email address and password.

EOS_LCT_ExchangeCode

A short-lived one-time use exchange code to login the local user. When started, the application is expected to consume the exchange code by using the EOS_Auth_Login API as soon as possible. This is needed in order to authenticate the local user before the exchange code would expire. Attempting to consume an already expired exchange code will return EOS_EResult::AuthExchangeCodeNotFound error by the EOS_Auth_Login API.

EOS_LCT_PersistentAuth

Desktop and Mobile only; deprecated on Console platforms in favor of EOS_LCT_ExternalAuth login method. Long-lived access token that is stored on the local device to allow persisting a user login session over multiple runs of the application. When using this login type, if an existing access token is not found or it is invalid or otherwise expired, the error result EOS_EResult::EOS_InvalidAuth is returned. On Console platforms, after a successful login using the EOS_LCT_DeviceCode login type, the persistent access token is retrieved using the EOS_Auth_CopyUserAuthToken API and stored by the application for the currently logged in user of the local device.

EOS_LCT_DeviceCode

Deprecated and no longer used. Superseded by the EOS_LCT_ExternalAuth login method. Initiates a PIN grant login flow that is used to login a local user to their Epic Account for the first time, and also whenever their locally persisted login credentials would have expired.

  1. Game initiates the user login flow by calling EOS_Auth_Login API with the EOS_LCT_DeviceCode login type.

  2. The SDK internally requests the authentication backend service to begin the login flow, and returns the game a new randomly generated device code along with authorization URL information needed to complete the flow. This information is returned via the EOS_Auth_Login API callback. The EOS_Auth_LoginCallbackInfo::ResultCode will be set to EOS_Auth_PinGrantCode and the EOS_Auth_PinGrantInfo struct will contain the needed information.

  3. Game presents the device code and the authorization URL information on screen to the end-user.

  4. The user will login to their Epic Account using an external device, e.g. a mobile device or a desktop PC, by browsing to the presented authentication URL and entering the device code presented by the game on the console.

  5. Once the user has successfully logged in on their external device, the SDK will call the EOS_Auth_Login callback once more with the operation result code. If the user failed to login within the allowed time before the device code would expire, the result code returned by the callback will contain the appropriate error result. in the same user the next time they start the game. This avoids prompting the same user to go through the login flow across multiple game sessions over long periods of time. To do this, after a successful login using the EOS_LCT_DeviceCode login type, the game can call the EOS_Auth_CopyUserAuthToken API to retrieve a long-lived refresh token that is specifically created for this purpose on Console. The game can store the long-lived refresh token locally on the device, for the currently logged in local user of the device. Then, on subsequent game starts the game can call the EOS_Auth_Login API with the previously stored refresh token and using the EOS_LCT_PersistentAuth login type to automatically login the current local user of the device.

EOS_LCT_Developer

Login with named credentials hosted by the EOS SDK Developer Authentication Tool.

EOS_LCT_RefreshToken

Refresh token that was retrieved from a previous call to EOS_Auth_Login API in another local process context. Mainly used in conjunction with custom launcher applications. in-between that requires authenticating the user before eventually starting the actual game client application. In such scenario, an intermediate launcher will log in the user by consuming the exchange code it received from the Epic Games Launcher. To allow the game client to also authenticate the user, it can copy the refresh token using the EOS_Auth_CopyUserAuthToken API and pass it via launch parameters to the started game client. The game client can then use the refresh token to log in the user.

EOS_LCT_AccountPortal

Desktop and Mobile only. Initiate a login through the Epic account portal. for example when starting the application through a proprietary ecosystem launcher or otherwise.

Related API Members