Client Credentials

Managing client credentials within the EOS environment.

Any program that needs to access Epic Online Services (EOS) functionality on behalf of a product is considered an EOS Client. These include the local build an end-user runs on their system, dedicated servers run by the developer, or any other program that needs visibility to backend services.

EOS uses OAuth Client Credentials to authorize access to these services. Each EOS Client is assigned a Client ID and a Client Secret (password) that the developer must use for authentication. EOS Clients are also assigned a predefined EOS Client Role on the Developer Portal's Client Credentials management page, which enable varying levels of access to different services. The sections below provide information about configuring these roles as well as use of the SDK with client credentials.

Configuring EOS Clients

You can view and manage EOS Clients by navigating to the Product Details page for your product and scrolling down to the Client Credentials section.

Click image for full size.

Creating New EOS Clients

You can add new EOS Client Types by clicking the New Client button. This will open a New Client sidebar where you can fill in details about the Client. Clicking the Save button will save its information and add it to the Client Credentials list.

Click image for full size.

Editing Existing EOS Clients

You can edit a Client by clicking the Details button on the far right side of its entry in the list. This will open the Client Config sidebar menu.

Click image for full size.

Using this menu, you can change the Client's name, role, features, and secret key. You can also use this menu to obtain the secret key when needed.

EOS Client Roles

The Developer Portal enables you to assign Client Roles to each of your Product's Clients, which changes the EOS features they can access. The following Client Roles are currently supported:

Role

Description

GameClient

The Client is an program intended for end-users. This type of Client can access EOS information, but typically can't modify it. For example, a GameClient can retrieve information about the game's Achievements, but it can't unlock them.

GameServer

The Client is a server or secure backend intended for administrative purposes. This type of Client can directly modify information on the EOS backend. For example, an EOS Client with a role of GameServer could unlock Achievements for a player.

Client Features

The Developer Portal enables you to assign Client Features to each of your Product's Clients. These control which specific EOS services each Client can access. You can edit them by clicking on the Features dropdown in the Client Config menu.

This dropdown lists all EOS features that the Client can access. You can click on a feature's tag to grant the Client access to it, or click on the X within the tag to revoke access.

Features Drop-Down

As new EOS features become available, the tag list will expand.

Usage with the EOS SDK

The EOS SDK requires a program to provide valid Client Credentials, including a Client ID and Client Secret. This information is passed in the the EOS_Platform_ClientCredentials structure, which is a parameter in the function EOS_Platform_Create . This enables the SDK to recognize the program as a valid EOS Client, authorize the Client with EOS, and grant access to the features enabled in the corresponding Client Role.