User attributes
When you are dealing with users in the online subsystem, they will be represented by FOnlineUser
, FOnlineFriend
and FUserOnlineAccount
objects.
FUserOnlineAccount
is used to represent locally logged in users, while FOnlineUser
and FOnlineFriend
are used to represent remote users such as other players in a game or players on a user's friends list.
Authentication Attributes (FUserOnlineAccount only)
The following attributes are accessible through GetAuthAttribute
. For fields prefixed with a platform name such as steam.
, these fields will not exist unless that platform was used for sign in.
Attribute Name | Description |
---|---|
authenticatedWith | Contains the name of the platform the user was authenticated with. This can currently be one of:
|
idToken | The EOS Connect ID Token for the user account, as documented on the Epic Online Services website. This token can be used to verify the user's identity with external custom services you operate. This token is also available by calling the |
crossPlatform.canLink | Returns "true" if the local account can be linked with a cross-platform account. This requires that you have a cross-platform account provider configured, do not require the use of cross-platform accounts, and the current user has not signed in with their cross-platform account yet. |
steam.id | The ID of the Steam account that was used for signing in. |
steam.sessionTicket | The session ticket that was used for signing in, in hexadecimal format. |
steam.sessionTicket.base64 | The session ticket that was used for signing in, encoded in base-64. |
steam.encryptedAppTicket | The encrypted app ticket if it could be obtained, in hexadecimal format. |
steam.encryptedAppTicket.base64 | The encrypted app ticket if it could be obtained, encoded in base-64. |
discord.accessToken | The OAuth access token that was used for Discord sign in. |
gog.id | The ID of the GOG Galaxy account that was used for signing in. |
gog.encryptedAppTicket | The GOG encrypted app ticket (in hexadecimal format) that was used for signing in. |
itchIo.apiKey | The itch.io API key that was used for signing in. |
oculus.userId | The Oculus user ID that was used for signing in. |
oculus.proofNonce | The Oculus proof nonce that was sent to the EOS backend as part of sign in. |
google.givenName | The given name of the Google account that was used for signing in. |
google.idToken | The Google ID token that was used for signing in. |
apple.idToken | The Apple ID token that was used for signing in. |
epic.accessToken | The OAuth access token that was used during Epic Games sign in. |
epic.idToken | The ID token for the Epic Games account, as documented on the Epic Online Services website. This token differs from |
epic.accountId | The ID of the Epic Games account the user is signed into. |
epic.app | Name of the app related to the client ID involved with the OAuth token. |
epic.authTokenType | Type of OAuth token, either client , user or unknown . |
epic.clientId | The OAuth client ID that requested the OAuth token. |
epic.expiresAt | Absolute time in UTC before the access token expires, in ISO 8601 format. |
epic.refreshToken | The OAuth refresh token that was obtained during Epic Games sign in. |
epic.refreshExpiresAt | Absolute time in UTC before the refresh token expires, in ISO 8601 format. |
epic.authenticatedWith | When authenticatedWith is equal to epic , this tells you the mechanism that was used to authenticate the Epic Games account. It can be interactive , persistent , exchangeCode , devTool , automatedTesting or one of the native platform names such as steam or discord .See authenticatedWith for details on what this might contain when you authenticate via a native platform. |
User Attributes (all EOS accounts)
These attributes are accessible through GetUserAttribute
.
Attribute Name | Availability | Description |
---|---|---|
id | All EOS accounts | The user ID as a string value. |
ready | All EOS accounts | "true" if all of the EOS information has finished loading for this user account. "false" if it has not. Some API calls immediately return FOnlineUser objects, so this attribute helps you determine if the asynchronous EOS API calls have finished loading data for this user account. |
productUserId | All EOS accounts | The EOS product user ID of the user. |
displayName, prefDisplayName | All EOS accounts | The user's display name. |
externalAccountTypes | All EOS accounts | A comma-separated list of external accounts that are associated with this EOS account. Each value in the comma-separated list can be used in the attributes below to access information about the external account. |
externalAccount.platform .id | All EOS accounts | The account ID on the specified external platform. |
externalAccount.platform .displayName | All EOS accounts | The display name of the account on the specified external platform. |
externalAccount.platform .lastLoginTime.unixTimestampUtc | All EOS accounts | The last time the user signed into the account on the specified external platform, as a UNIX timestamp in UTC. |
externalAccount.epic.country | All EOS accounts that have epic in the externalAccountTypes attribute | The country of the user. This may not be available for all accounts. |
externalAccount.epic.nickname | All EOS accounts that have epic in the externalAccountTypes attribute | The nickname of the user. This may not be available for all accounts. |
externalAccount.epic.preferredLanguage | All EOS accounts that have epic in the externalAccountTypes attribute | The preferred language of the user. This may not be available for all accounts. |
eosSynthetic.primaryFriend.subsystemName (previously SubsystemName) | Friend accounts obtained from the IOnlineFriends interface | The name of the subsystem that owns the user ID used to identify this user. This will be a subsystem like "Steam" if the friend does not have an EOS account, and "EOS" if the friend is identified by an EOS user ID. |
eosSynthetic.preferredFriend.subsystemName | Friend accounts obtained from the IOnlineFriends interface | The name of the subsystem that is providing the friend's real name and display name fields. This may be different from the primary friend account. |
eosSynthetic.subsystemNames | Friend accounts obtained from the IOnlineFriends interface | A comma-delimited list of subsystem names who from which the friend account was unified. This can be a value like "RedpointEOS,Steam,Discord". |
eosSynthetic.friend.subsystemName .id | Friend accounts obtained from the IOnlineFriends interface | The user ID of the friend account from subsystem subsystemName that was wrapped by this unified friend account. |
eosSynthetic.friend.subsystemName .realName | Friend accounts obtained from the IOnlineFriends interface | The real name of the friend account from subsystem subsystemName that was wrapped by this unified friend account. |
eosSynthetic.friend.subsystemName .displayName | Friend accounts obtained from the IOnlineFriends interface | The display name of the friend account from subsystem subsystemName that was wrapped by this unified friend account. |
eosSynthetic.friend.subsystemName .attr.attr | Friend accounts obtained from the IOnlineFriends interface | The user attribute attr of the friend account from subsystem subsystemName that was wrapped by this unified friend account. |
deletable | Friend accounts obtained from the IOnlineFriends interface | Either "true" or "false". If "true", this friend can be removed with a call to |
epicAccountId (deprecated) | All EOS accounts | Use externalAccount.epic.id instead. |
country (deprecated) | All EOS accounts | Use externalAccount.epic.country instead. |