Enum Class EOS_EExternalCredentialType
- All Implemented Interfaces:
com.sun.jna.NativeMapped,Serializable,Comparable<EOS_EExternalCredentialType>,Constable
The type of authentication token is specific to each provider. Tokens in string format should be passed as-is to the function. Tokens retrieved as raw byte arrays should be converted into a hex-encoded UTF-8 string (e.g. "FA87097A..") before being passed to the function. EOS_ByteArray_ToString can be used for this conversion.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionAmazon Access TokenApple ID TokenDevice ID access token that identifies the current locally logged in user profile on the local device.Discord Access TokenEpic Account Services TokenEpic Games ID TokenGOG Galaxy Encrypted App TicketGoogle ID Tokenitch.io JWT Access Tokenitch.io Key Access TokenNintendo Account ID TokenNintendo Service Account ID Token (NSA ID)Oculus User ID and NonceOpenID Provider Access TokenPlayStation(TM)Network ID TokenSteam Encrypted App TicketSteam Auth Session TicketUplay Access TokenVIVEPORT User Session TokenXbox Live XSTS Token -
Method Summary
Modifier and TypeMethodDescriptionfromNative(Object nativeValue, com.sun.jna.FromNativeContext context) Class<?>toNative()static EOS_EExternalCredentialTypeReturns the enum constant of this class with the specified name.static EOS_EExternalCredentialType[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
EOS_ECT_EPIC
Epic Account Services TokenUsing ID Token is preferred, retrieved with EOS_Auth_CopyIdToken that returns EOS_Auth_IdToken::JsonWebToken. Using Auth Token is supported for backwards compatibility, retrieved with EOS_Auth_CopyUserAuthToken that returns EOS_Auth_Token::AccessToken.
Supported with EOS_Connect_Login.
-
EOS_ECT_STEAM_APP_TICKET
Steam Encrypted App TicketNote that EOS_ECT_STEAM_APP_TICKET is deprecated for use with EOS_Auth_Login. Use
EOS_ECT_STEAM_SESSION_TICKETinstead.Generated using the ISteamUser::RequestEncryptedAppTicket API of Steamworks SDK. For ticket generation parameters, use pDataToInclude(NULL) and cbDataToInclude(0).
The retrieved App Ticket byte buffer needs to be converted into a hex-encoded UTF-8 string (e.g. "FA87097A..") before passing it to the EOS_Connect_Login API. EOS_ByteArray_ToString can be used for this conversion.
Supported with EOS_Connect_Login.
-
EOS_ECT_PSN_ID_TOKEN
PlayStation(TM)Network ID TokenRetrieved from the PlayStation(R) SDK. Please see first-party documentation for additional information.
Supported with EOS_Auth_Login, EOS_Connect_Login.
-
EOS_ECT_XBL_XSTS_TOKEN
Xbox Live XSTS TokenRetrieved from the GDK and XDK. Please see first-party documentation for additional information.
Supported with EOS_Auth_Login, EOS_Connect_Login.
-
EOS_ECT_DISCORD_ACCESS_TOKEN
Discord Access TokenRetrieved using the ApplicationManager::GetOAuth2Token API of Discord SDK.
Supported with EOS_Connect_Login.
-
EOS_ECT_GOG_SESSION_TICKET
GOG Galaxy Encrypted App TicketGenerated using the IUser::RequestEncryptedAppTicket API of GOG Galaxy SDK. For ticket generation parameters, use data(NULL) and dataSize(0).
The retrieved App Ticket byte buffer needs to be converted into a hex-encoded UTF-8 string (e.g. "FA87097A..") before passing it to the EOS_Connect_Login API. For C/C++ API integration, use the EOS_ByteArray_ToString API for the conversion. For C# integration, you can use Helper.ToHexString for the conversion.
Supported with EOS_Connect_Login.
-
EOS_ECT_NINTENDO_ID_TOKEN
Nintendo Account ID TokenIdentifies a Nintendo user account and is acquired through web flow authentication where the local user logs in using their email address/sign-in ID and password. This is the common Nintendo account that users login with outside the Nintendo Switch device.
Supported with EOS_Auth_Login, EOS_Connect_Login.
-
EOS_ECT_NINTENDO_NSA_ID_TOKEN
Nintendo Service Account ID Token (NSA ID)The NSA ID identifies uniquely the local Nintendo Switch device. The authentication token is acquired locally without explicit user credentials. As such, it is the primary authentication method for seamless login on Nintendo Switch.
The NSA ID is not exposed directly to the user and does not provide any means for login outside the local device. Because of this, Nintendo Switch users will need to link their Nintendo Account or another external user account to their Product User ID in order to share their game progression across other platforms. Otherwise, the user will not be able to login to their existing Product User ID on another platform due to missing login credentials to use. It is recommended that the game explicitly communicates this restriction to the user so that they will know to add the first linked external account on the Nintendo Switch device and then proceed with login on another platform.
In addition to sharing cross-platform game progression, linking the Nintendo Account or another external account will allow preserving the game progression permanently. Otherwise, the game progression will be tied only to the local device. In case the user loses access to their local device, they will not be able to recover the game progression if it is only associated with this account type.
Supported with EOS_Auth_Login, EOS_Connect_Login.
-
EOS_ECT_UPLAY_ACCESS_TOKEN
Uplay Access Token -
EOS_ECT_OPENID_ACCESS_TOKEN
OpenID Provider Access TokenSupported with EOS_Connect_Login.
-
EOS_ECT_DEVICEID_ACCESS_TOKEN
Device ID access token that identifies the current locally logged in user profile on the local device. The local user profile here refers to the operating system user login, for example the user's Windows Account or on a mobile device the default active user profile.This credential type is used to automatically login the local user using the EOS Connect Device ID feature.
The intended use of the Device ID feature is to allow automatically logging in the user on a mobile device and to allow playing the game without requiring the user to necessarily login using a real user account at all. This makes a seamless first-time experience possible and allows linking the local device with a real external user account at a later time, sharing the same EOS_ProductUserId that is being used with the Device ID feature.
Supported with EOS_Connect_Login.
-
EOS_ECT_APPLE_ID_TOKEN
Apple ID TokenSupported with EOS_Connect_Login.
-
EOS_ECT_GOOGLE_ID_TOKEN
Google ID TokenSupported with EOS_Connect_Login.
-
EOS_ECT_OCULUS_USERID_NONCE
Oculus User ID and NonceCall ovr_User_GetUserProof(; or Platform.User.GetUserProof() if you are using Unity, to retrieve the nonce. Then pass the local User ID and the Nonce as a "{UserID}|{Nonce}" formatted string for the EOS_Connect_Login Token parameter.
Note that in order to successfully retrieve a valid non-zero id for the local user using ovr_User_GetUser(; your Oculus App needs to be configured in the Oculus Developer Dashboard to have the User ID feature enabled.
Supported with EOS_Connect_Login.
-
EOS_ECT_ITCHIO_JWT
itch.io JWT Access TokenUse the itch.io app manifest to receive a JWT access token for the local user via the ITCHIO_API_KEY process environment variable. The itch.io access token is valid for 7 days after which the game needs to be restarted by the user as otherwise EOS Connect authentication session can no longer be refreshed.
Supported with EOS_Connect_Login.
-
EOS_ECT_ITCHIO_KEY
itch.io Key Access TokenThis access token type is retrieved through the OAuth 2.0 authentication flow for the itch.io application.
Supported with EOS_Connect_Login.
-
EOS_ECT_EPIC_ID_TOKEN
Epic Games ID TokenAcquired using EOS_Auth_CopyIdToken that returns EOS_Auth_IdToken::JsonWebToken.
Supported with EOS_Connect_Login.
-
EOS_ECT_AMAZON_ACCESS_TOKEN
Amazon Access TokenSupported with EOS_Connect_Login.
-
EOS_ECT_STEAM_SESSION_TICKET
Steam Auth Session TicketGenerated using the ISteamUser::GetAuthTicketForWebApi API of Steamworks SDK.
ATTENTION
The pchIdentity input parameter of GetAuthTicketForWebApi API must be set to a valid non-empty string value. The string value used by the game client must match identically to the backend-configured value in EOS Dev Portal. The recommended value to use is "epiconlineservices" in lowercase, matching the default value for new Steam identity provider credentials in EOS Dev Portal. This identifier is important for security reasons to prevent session hijacking. Applications must use a dedicated unique identity identifier for Session Tickets passed to the EOS SDK APIs. Session Tickets using the EOS-assigned identifier must not be used with anything else than the EOS SDK APIs. You must use a different identifier when generating Session Tickets to authenticate with other parties.WARNING
To update an already live game to use the new GetAuthTicketForWebApi API instead of the deprecated GetAuthSessionTicket API, follow these steps in this order to prevent breaking the live game for players:
1. Update your game client code to use the new ISteamUser::GetAuthTicketForWebApi API.
2. Publish the new game client update to end-users.
3. Update the existing Steam identity provider credentials entry in EOS Dev Portal to use the same identity string identifier as the game client.
Example:
SteamUser()->GetAuthTicketForWebApi("epiconlineservices");The retrieved Auth Session Ticket byte buffer needs to be converted into a hex-encoded UTF-8 string (e.g. "FA87097A..") before passing it to the EOS_Auth_Login or EOS_Connect_Login APIs. EOS_ByteArray_ToString can be used for this conversion.
Supported with EOS_Auth_Login, EOS_Connect_Login.
- Since:
- 1.15.1+
-
EOS_ECT_VIVEPORT_USER_TOKEN
VIVEPORT User Session TokenSupported with EOS_Connect_Login.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
fromNative
- Specified by:
fromNativein interfacecom.sun.jna.NativeMapped
-
toNative
- Specified by:
toNativein interfacecom.sun.jna.NativeMapped
-
nativeType
- Specified by:
nativeTypein interfacecom.sun.jna.NativeMapped
-