Autenticación de usuarios dentro del juego

Cómo funciona

Launcher envía los datos de los usuarios, autenticados a través de la aplicación de escritorio, al juego en el parámetro –xsolla-login-token en el formato JWT. Puede utilizar este parámetro para establecer la autenticación automática de usuarios en el juego.

Principales notificaciones del JWT

Un token contendrá las notificaciones principales tras la autenticación o la confirmación de la dirección de correo electrónico. La presencia de estas notificaciones no depende de la base de datos de usuarios ni de la llamada de autenticación.

Reclamación                                                  TipoObligatorioDescripción
expUnix TimestampFecha y hora de expiración del token. El tiempo de expiración por defecto es de 24 horas. Puede cambiar el tiempo de expiración para cada proyecto de Login.
issstringServicio que firmó el token: https://login.xsolla.com.
iatUnix TimestampFecha y hora de entrega del token.
substring (UUID)ID de usuario escrito en el lado del servidor de Xsolla Login.
groupsarrayLa lista de grupos a los que pertenece el usuario. Cada grupo se escribe en el siguiente formato:
  • id - ID del grupo;
  • name - nombre del grupo;
  • is_default - muestra si el grupo es predeterminado o no (true o false).
Solo puede haber un grupo por defecto. Este grupo incluye inicialmente a todos los usuarios antes de que se distribuyan en diferentes grupos.
xsolla_login_project_idstring (UUID)Identificación del proyecto de Login.
usernamestringNombre de usuario.
publisher_idintegerID de un comerciante que pose un proyecto de Login.
emailstringDirección de correo electrónico del usuario.
payloadstringInformación adicional que se transmite en el parámetro de carga útil durante la autenticación.
promo_email_agreementbooleanConsentimiento para recibir un boletín. Puede tener uno de los siguientes valores:
  • true si el usuario acepta recibir un boletín.
  • false en caso contrario.
Tiene el valor true por defecto.
Para agregar la función al formulario de registro del widget de Login:
  • Contacte con su gestor del éxito del cliente o envíe un correo electrónico a csm@xsolla.com si utiliza el widget 2.0.
  • Agregue el parámetro fields con el valor promo_email_agreement al código de inicialización si utiliza la versión anterior del widget.
connection_informationstringMuestra si el usuario confirmó o no su fecha de nacimiento. La confirmación se realiza a través del servicio okname.

Autenticación a través de redes sociales

Notificaciones que contiene el token tras la autenticación a través de una red social. La presencia de estas notificaciones no depende de la base de datos de usuarios.

Reclamación                                                  TipoObligatorioDescripción
providerstringNombre de la red social utilizada para la autenticación. Valores posibles: amazon, apple, baidu, battlenet, discord, facebook, github, google, kakao, linkedin, mailru, microsoft, msn, naver, ok, paypal, psn, qq, reddit, steam, twitch, twitter, vimeo, vk, wechat, weibo, yahoo, yandex, youtube y xbox.
idstringID de usuario en una red social.
is_cross_authbooleanMuestra que la solicitud de autenticación silenciosa está en curso.
social_access_tokenstringParámetro del access_token a la cuenta de red social utilizado para la autenticación. Contacte con su gestor del éxito del cliente o envíe un correo electrónico a csm@xsolla.com para establecer la función.
picturestring (URL)Enlace a la foto de perfil del usuario en una red social.
birthdaydate (RFC 3339)Fecha de nacimiento del usuario en una red social.
genderstringSexo/género de usuario en una red social.
namestringAlias del usuario en una red social.

Flujo del usuario

  1. Un usuario inicia sesión en el lanzador.
  2. El lanzador recibe el token de autorización con la información del usuario desde el servidor de Xsolla Login.
  3. El usuario inicia el juego desde el lanzador.
  4. Al iniciar el juego, el lanzador transmite los siguientes argumentos al cliente del juego:
    • --xsolla-login-token <token> - el token de autorización obtenido del servidor de Xsolla Login.
    • --xsolla-locale <locale> - Idioma de la interfaz de usuario.

Ejemplo

Copy
Full screen
Small screen
    game.exe --xsolla-login-token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InAudHVnb2x1a292QHhzb2xsYS5jb20iLCJleHAiOjE1ODU1MDYxMTMsImdyb3VwcyI6W10sImlhdCI6MTU4NDY0MjExMywiaXNzIjoiaHR0cHM6Ly9sb2dpbi54c29sbGEuY29tIiwicGFydG5lcl9kYXRhIjp7ImFkbWluIjp0cnVlfSwicGF5bG9hZCI6IiIsInByb21vX2VtYWlsX2FncmVlbWVudCI6dHJ1ZSwicHJvdmlkZXIiOiJ4c29sbGEiLCJyZWRpcmVjdF91cmwiOiIiLCJzdWIiOiIyNmYxNzI5Ni00Nzk5LTExZTgtOTBkMC00MjAxMGE4YTAwMTkiLCJ0eXBlIjoic29jaWFsIiwidXNlcm5hbWUiOiJzb21lX3VzZXJAbWFpbC5jb20iLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6Ikk2QTJrTEZPQ2JkcnUzamIxMjNyT3JmWnNkTnFpdVcxMjNpWTdKcW85OHI5b0hPbyIsInhzb2xsYV9sb2dpbl9wcm9qZWN0X2lkIjoiNDBkYjJlYTQtNWQ0Mi0xMWU2LWEzZmYtMDA1NDU2YTBlMTRhIn0.ZsTNiwY2iPp7HKqHs5g6JXzL2kv_RVuMNBlF-Tn2ccE --xsolla-locale en
    
    1. El cliente del juego envía el token de usuario obtenido al servidor del juego para recuperar los datos del usuario de una de las siguientes maneras:

    Cómo conseguirlo

    1. Implemente la recuperación de datos del usuario:
    2. Establezca el procesamiento de parámetros para que el juego autentique a los usuarios automáticamente.
    3. Implemente la selección del idioma de la interfaz basándose en el idioma obtenido en el argumento --xsolla-locale <locale> en el cliente del juego.
    4. Implemente el seguimiento de nuevos usuarios y la creación de sus cuentas en el servidor del juego.

    Decodificar un JWT en el servidor del juego

    1. Abra su proyecto en Cuenta del editor y vaya a la sección Login.
    2. Haga clic en Configure en el panel de un proyecto de Login.
    3. Vaya al bloque Security y seleccione la sección JWT signature.
    4. Сopie el valor del campo Secret key.
    5. Elige la biblioteca y conéctela en el lado del servidor de su aplicación.
    6. Transmita el valor copiado en el paso 4 a la entrada de la función de decodificación.
    Aviso
    No revele su clave secreta a nadie. Si se ha visto comprometida, actualícela.

    Recuperación de datos del usuario mediante Login API

    Llame al método Get user detailsde Login API para recuperar los datos del usuario.

    Registro de usuarios

    Para realizar un seguimiento del registro de nuevos usuarios:

    1. Abra su proyecto en Cuenta del editor y vaya a la sección Login API.
    2. Haga clic en Configure en el panel de un proyecto de Login.
    3. En el bloque de configuración superior, haga clic en Callback URLs.
    4. En el campo Callback URLs, introduzca la dirección URL a la que se debe redirigir al usuario tras el registro.
    5. Configure la creación de una nueva cuenta en el juego. Tras el registro, el usuario será redirigido a la URL especificada en el campo Callback URL con el parámetro is_new=1.
    6. Para obtener información para rellenar la cuenta, utilice el método Login API.

    Ejemplo

    Copy
    Full screen
    Small screen
      https://<callbackUrl>?is_new=1&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWR
      

      Idioma de la interfaz de usuario

      ExampleValueMeaning
      –xsolla-locale en“en”
      “ru”
      “cn”
      “tw”
      “fr”
      “de”
      “it”
      “pt”
      “es”
      “pl”
      “cs”
      “ko”
      “ar”
      “bg”
      “he”
      “ja”
      “tr”
      “th”
      “vi”
      “ro”
      “English”
      “Русский”
      “简体中文”
      “中国传统的”
      “Français”
      “Deutsch”
      “Italiano”
      “Português”
      “Español”
      “Polski”
      “Čeština”
      “한국어”
      “العربية”
      “Български”
      “עברית”
      “日本語”
      “Türkçe”
      “ไทย”
      “Tiếng Việt”
      “Română”
      ¿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: 23 de Septiembre 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!