Login / Cuenta multiplataforma
  Volver a Documentos

Login

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:

Si las cuentas principal y de plataforma están vinculadas:

  1. El usuario se autentica en una plataforma.
  2. El servidor de Xsolla Login envía un token de cuenta principal al usuario.
  3. 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:
  1. El usuario accede al juego en la plataforma de la consila del juego por primera vez.
  2. La interfaz de usuario del juego muestra un mensaje que la ofrece vincular la cuenta de plataforma a su cuenta principal.
  3. El usuario inicia la aplicación y se autentica en su cuenta principal.
  4. La aplicación envía una solicitud de Create code for linking accounts al servidor de Xsolla Login.
  5. La interfaz de usuario de la aplicación muestra al usuario un código de vinculación de cuenta.
  6. El usuario vuelve a la versión de la consola del juego e introduce el código.
  7. El servidor del juego envía la solicitud de Link accounts by code al servidor de Xsolla Login.
  8. 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 especifique publisher_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.0
  • client_secret - Clave secreta del cliente de OAuth 2.0
Puede utilizar los parámetros anteriores para obtener un token de servidor.

El algoritmo de integración de una cuenta multiplataforma es el siguiente:

  1. Implementar la autenticación de usuario para:
    1. Cuenta principal
    2. Cuenta de plataforma
  2. Vincular las cuentas:
    1. Obtener un código para vincular
    2. Vincular las cuentas

Autenticar usuarios en la cuenta principal

La cuenta principal se crea en un proyecto de Login con un main_project_id especificado. Puede utilizar tanto el widget de Login como el Login API para el registro y la autenticación.

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 mediante custom ID para otra plataforma.

Autenticación mediante ID personalizado

Para crear una cuenta de plataforma, utilice la llamada Auth by custom ID en el servidor del juego. Transmita los siguientes datos a esta llamada parámetros:

  • publisher_project_id o shadow_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:

  1. El cliente del juego envía la solicitud de autenticación al servidor del juego cuando el usuario lanza el juego.
  2. El servidor del juego genera o utiliza un usuario ya existente custom ID.
  3. 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ámetros platform y user_id). Si no se encuentra el usuario con un ID personalizado transmitido, se crea un nuevo usuario.
  4. El servidor de Xsolla Login envía un token al servidor del juego.

Ejemplo de solicitud:

Copy
Full screen
Small screen

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:

Copy
Full screen
Small screen
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:

  1. 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.
  2. Muestre el código recibido al usuario.

Ejemplo de solicitud:

Copy
Full screen
Small screen

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:

Copy
Full screen
Small screen
HTTP/1.1 200 OK
Content-Type: application/json

{
  "code": "123456"
}

Vinculación de cuentas

Utilice la Link accounts by codellamada para vincular una cuenta de plataforma a la cuenta principal. Transmita el parámetro code con el código de vinculación que el usuario introdujo en una plataforma para esta llamada.

Ejemplo de solicitud:

Copy
Full screen
Small screen

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:

Copy
Full screen
Small screen
HTTP/1.1 204 No Content
¿Te ha resultado útil este artículo?
¡Gracias!
¿Hay algo en lo que podamos mejorar? Mensaje
Lo sentimos
Por favor, cuéntanos por qué no te ha resultado útil este artículo. Mensaje
¡Gracias por tu mensaje!
Nos ayudará a mejorar tu experiencia.
Última actualización: 31 de Julio de 2024

¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.

Informar de un problema
Nos esforzamos por ofrecer contenido de calidad. Tus comentarios nos ayudan a mejorar.
Déjanos tu correo electrónico para que te podamos responder
¡Gracias por tu mensaje!