Cuenta multiplataforma
Cómo funciona
Glosario
Tiene acceso a los siguientes tipos de proyectos de Login en Cuenta del editor:
- Proyecto de Login (inicio de sesión) concurrente es un proyecto de Login que se utiliza para almacenar cuentas principales.
- Proyecto de Login (inicio de sesión) concurrente es un proyecto de Login que se utiliza para almacenar cuentas de plataforma.
Cuenta principal es un tipo de cuenta que se crea en un proyecto de Login estándar y se vincula a cuentas de plataforma. La cuenta principal se utiliza para identificar al jugador en diferentes plataformas.
Cuenta de plataforma es un tipo de cuenta que se crea en un proyecto de Login concurrente y se conecta a una plataforma de publicación definida. La cuenta de plataforma no puede vincularse a otra cuenta de plataforma. Tampoco puede desvincularse de una cuenta principal.
Plataforma de publicación es una plataforma de juegos que se utiliza para la distribución de juegos (por ejemplo, Steam, PlayStation, Xbox, etc.).
Cuenta multiplataforma es una cuenta con cuentas de plataforma vinculadas a la cuenta principal.
Cada cuenta de usuario con juegos en una plataforma definida debe corresponderse con una cuenta de plataforma en un proyecto de Login (inicio de sesión) concurrente. Por ejemplo, si el usuario tiene una cuenta con los juegos que posee en las plataformas Xbox y PlayStation, las cuentas de plataforma del proyecto de Login (inicio de sesión) concurrente deben estar vinculadas a las correspondientes cuentas de las plataformas Xbox y PlayStation.
Usar una cuenta multiplataforma
La cuenta multiplataforma le permite:
- tener una cuenta de juego en diferentes plataformas
- obtener la lista de amigos de la cuenta de red social de una cuenta de plataforma
Si las cuentas principal y de plataforma están vinculadas:
- El usuario se autentica en una plataforma.
- El servidor de Xsolla Login envía un token de cuenta principal al usuario.
- El servidor de Xsolla Login autentica al usuario de la cuenta principal.
Al utilizar la cuenta multiplataforma, el ID de usuario de un token será el mismo que el ID de la cuenta principal. Puede encontrar el ID de usuario en JWT > sub
claim.
Flujo de vinculación de cuentas
Si el usuario tiene una cuenta principal, puede vincular una cuenta de plataforma a ella durante la autenticación en una plataforma:- El usuario accede al juego en la plataforma de la consila del juego por primera vez.
- La interfaz de usuario del juego muestra un mensaje que la ofrece vincular la cuenta de plataforma a su cuenta principal.
- El usuario inicia la aplicación y se autentica en su cuenta principal.
- La aplicación envía una solicitud de
Create code for linking accounts al servidor de Xsolla Login. - La interfaz de usuario de la aplicación muestra al usuario un código de vinculación de cuenta.
- El usuario vuelve a la versión de la consola del juego e introduce el código.
- El servidor del juego envía la solicitud de
Link accounts by code al servidor de Xsolla Login. - La versión de la consola del juego muestra el mensaje de confirmación.
¿Quién puede utilizarlo?
Socios que ya han integrado Login y tienen una cuenta de plataforma de publicación.
Cómo conseguirlo
Para integrar una cuenta multiplataforma, necesitará los siguientes parámetros de Cuenta del editor:
main_project_id
- ID de un proyecto de Login estándar en formato UUID. Por ejemplo:f6c5011a-715e-4e5e-b7b1-a4812d85b8c8
.shadow_project_id
- ID de un proyecto de Login (inicio de sesión) concurrente en formato UUID. Este proyecto se utilizará como proyecto de Login (inicio de sesión) concurrente. Cree un proyecto de Login (inicio de sesión) concurrente y especifiquepublisher_project_id
para él en la configuración del proyecto de Login.shadow_project_id
es el ID del proyecto creado.publisher_project_id
- ID de un proyecto. El parámetro se muestra en Project settings > Project ID > Project ID.
Envíe los parámetros shadow_project_id
y publisher_project_id
a su gestor del éxito del cliente para obtener los siguientes parámetros de cliente de OAuth 2.0:
client_id
- ID de cliente de OAuth 2.0client_secret
- Clave secreta del cliente de OAuth 2.0
El algoritmo de integración de una cuenta multiplataforma es el siguiente:
- Implementar la autenticación de usuario para:
- Vincular las cuentas:
Autenticar usuarios en la cuenta principal
La cuenta principal se crea en un proyecto de Login con unmain_project_id
especificado. Puede utilizar tanto el widget de Login como el Autenticar usuarios en una cuenta de plataforma
Para realizar el registro y la autenticación de usuarios a través de una plataforma, elija el método y siga las instrucciones. Puede combinar estos métodos. Por ejemplo, puede utilizar la autenticación silenciosa para la plataforma Xbox y autenticación medianteAutenticación mediante ID personalizado
Para crear una cuenta de plataforma, utilice la llamada
publisher_project_id
oshadow_project_id
(el servidor de Xsolla Login devuelve un error si no se transmiten)- un token de servidor
- información de la cuenta de plataforma del usuario en el parámetro
social_profile
Si utiliza esta llamada de autenticación, no podrá obtener la lista de amigos del usuario de diferentes plataformas. La lista de plataformas disponibles para la autenticación no está restringida.
Flujo de autenticación:
- El cliente del juego envía la solicitud de autenticación al servidor del juego cuando el usuario lanza el juego.
- El servidor del juego genera o utiliza un usuario ya existente
custom ID . - El servidor del juego envía la solicitud
Auth by custom ID al servidor de Xsolla Login especificando la plataforma y el identificador del usuario en ella (parámetrosplatform
yuser_id
). Si no se encuentra el usuario con un ID personalizado transmitido, se crea un nuevo usuario. - El servidor de Xsolla Login envía un token al servidor del juego.
Ejemplo de solicitud:
http
- http
- curl
POST https://login.xsolla.com/api/users/login/server_custom_id?publisher_project_id=<publisher_project_id> HTTP/1.1
X-Server-Authorization: <server_token>
Content-Type: application/json
{
"server_custom_id": "secret_value",
"social_profile": {
"platform": "xbox",
"user_id": "123"
}
}
curl --request POST \
--url 'https://login.xsolla.com/api/users/login/server_custom_id?publisher_project_id=publisher_project_id' \
--header 'content-type: application/json' \
--header 'x-server-authorization: server_token' \
--data '{"server_custom_id":"secret_value","social_profile":{"platform":"xbox","user_id":"123"}}'
Ejemplo de respuesta:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"token": "<platform_user_token>"
}
Autenticación silenciosa
Para establecer la autenticación silenciosa, cree un proyecto de Login (inicio de sesión) concurrente y siga las instrucciones. Utilice métodos de autenticación silenciosa en el servidor del juego para crear una cuenta de plataforma.Obtener el código de vinculación
Para obtener un código de vinculación:
- Utilice la llamada
Create code for linking accounts . Transmita el token de usuario que recibió durante la autenticación en la cuenta principal a esta llamada. - Muestre el código recibido al usuario.
Ejemplo de solicitud:
http
- http
- curl
POST https://login.xsolla.com/api/users/account/code HTTP/1.1
Authorization: Bearer <main_user_token>
curl --request POST \
--url https://login.xsolla.com/api/users/account/code \
--header 'authorization: main_user_token'
Ejemplo de respuesta:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": "123456"
}
Vinculación de cuentas
Utilice la code
con el código de vinculación que el usuario introdujo en una plataforma para esta llamada.
Ejemplo de solicitud:
http
- http
- curl
POST https://login.xsolla.com/api/users/account/link HTTP/1.1
X-Server-Authorization: <server_token>
Content-Type: application/json
{
"code": "123456",
"platform": "xbox",
"user_id": "123",
"publisher_project_id": 44056
}
curl --request POST \
--url https://login.xsolla.com/api/users/account/link \
--header 'content-type: application/json' \
--header 'x-server-authorization: server_token' \
--data '{"code":"123456","platform":"xbox","publisher_project_id":44056,"user_id":"123"}'
Ejemplo de respuesta:
- http
HTTP/1.1 204 No Content
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.