Establecer la autenticación de usuarios
La autenticación permite a los usuarios comprar artículos en Web Shop y ver ofertas exclusivas en el catálogo.
Funciones principales de Web Shop con autenticación:
- Múltiples métodos de autorización en Web Shop.
- Configuración de escaparates personalizados y códigos promocionales para usuarios autorizados.
- Cumplimiento de las leyes y normativas regionales de protección y tratamiento de datos personales.
- Límite de frecuencia y protección DDoS.
Puede elegir uno de los siguientes métodos de autenticación:
- User ID authentication (Autenticación de ID de usuario):
- Simplifica la integración de la tienda Web Shop con el juego.
- El widget de autenticación no requiere registro ni introducción de contraseña. Los usuarios deben introducir el ID de usuario del juego o usar la misma cuenta de red social para iniciar sesión que para conectarse al juego.
- Autenticación mediante ID de usuario y enlace profundo:
- Los enlaces profundos se pueden utilizar como método de autenticación adicional al iniciar sesión mediante ID de usuario.
- No es necesario registrarse ni introducir una contraseña para utilizar el widget de autenticación de ID de usuario y enlace profundo. El usuario solo tiene que introducir su ID de usuario desde el juego o iniciar sesión a través del juego con el enlace profundo.
- Autenticación mediante enlace profundo:
- Cuando se utiliza un enlace profundo como método principal de inicio de sesión, se pueden guardar los datos de pago, algo que no es posible al autenticarse mediante ID de usuario.
- Autenticación mediante Xsolla Login:
- Ofrece una amplia gama de métodos de autorización: redes sociales, códigos de un solo uso o enlaces, y nombre de usuario y contraseña.
- Permite personalizar el widget de Xsolla Login.
- Puede imponer restricciones de edad en la autorización.
- Autenticación mediante Xsolla Login con ID de usuario vinculado:
- Le permite combinar la seguridad de Xsolla Login con la ventaja de usar un ID de usuario de un juego. El widget Xsolla Login funciona de forma independiente del cliente del juego: la integración con el juego se gestiona mediante webhooks. El ID de usuario vinculado se emplea para transferir rápidamente compras al usuario en el juego y ofrecerle ofertas personalizadas.
- No precisa cambios en el cliente del juego y es ideal cuando conviene garantizar que solo el propietario de la cuenta pueda acceder a Web Shop; por ejemplo, para evitar el uso no autorizado de puntos de fidelidad.
Flujo del usuario
- El usuario se dirige a Web Shop con la autenticación de ID de usuario configurada.
- El usuario se autentica en Web Shop de una de las siguientes formas:
- El usuario introduce su ID en el bloque de Fast Login y pulsa en el botón de inicio de sesión.
- El usuario pulsa en el botón de compra del artículo seleccionado o en el botón de inicio de sesión de la barra superior:
- Se abre una ventana modal para introducir el ID de usuario o iniciar sesión a través de una red social.
- El usuario introduce su ID y pulsa en Continue o pulsa en el icono de redes sociales para elegir una red social y realiza la autenticación en la página de la red social.

- El sistema verifica si existe un usuario en el juego. Si existe un usuario con este ID o cuenta de red social en el juego, el usuario es autenticado en Web Shop. En caso contrario, aparece un mensaje de error.
Cómo conseguirlo
- En su aplicación, implemente la gestión del webhook de validación de usuarios.
Al recibir un webhook, la aplicación debe hacer lo siguiente:
- Buscar un usuario por su ID transmitido en el webhook.
- En función del resultado, enviar uno de los siguientes códigos de estado:
- código HTTP 200 HTTP con una respuesta del webhook si se encuentra un usuario
- código HTTP 404 si no se encuentra el ID de usuario
- Enviar atributos de usuario para la personalización.
Abra su proyecto en Cuenta del editor y vaya a Storefronts > Websites.
En el panel del sitio correspondiente, haga clic en Open Site Builder.
Abra su proyecto en la cuenta para juegos en móviles y vaya a la sección Web Shop.
Haga clic en el panel del sitio correspondiente.
- Si su sitio tiene varias páginas, seleccione la que necesite:
- Haga clic en el título de la página actual, situado en la parte superior del creador.
- Seleccione la página que necesita de la lista desplegable.
- Vaya al bloque Login settings.
- Seleccione la opción User ID.
- En la lista desplegable, seleccione New Login.
- Introduzca la URL para recibir webhooks. Esta URL puede ser distinta de la especificada en Project settings > Webhooks.
- Introduzca la URL para recibir webhooks. Esta URL puede diferir de la especificada en Settings > Webhooks.
https://. Si se usa http://, se producirá un error.- Establezca la autorización a través de redes sociales ya conectadas a su aplicación (opcional):
- Abra su proyecto en Cuenta del editor y vaya a la sección Login.
- Haga clic en Configure en la barra de sitio web.
- Vaya al bloque Authentication y seleccione Social login.
- Establezca la autorización a través de redes sociales ya conectadas a su aplicación (opcional):
- Abra su proyecto en la cuenta para juegos en móviles y vaya a Other tools > Login.
- Haga clic en Configure en la barra de sitio web.
- Vaya al bloque Authentication y seleccione Social login.
- Para establecer una red social, vaya a la ficha de la red social, haga clic en el icono ⚙ situado a la derecha del título y seleccione Connect.
Un enlace profundo es una URL especial que dirige al usuario directamente a una sección, página o acción específica dentro de una aplicación o sitio web, en vez de solo dirigirlo a la página principal.
Los enlaces profundos se pueden utilizar como método de autenticación adicional al iniciar sesión con ID de usuario. Si el juego está instalado en el dispositivo móvil del usuario, se le redirigirá al juego a través de un enlace profundo para obtener un token de autorización.
Flujo del usuario
En la 'app' móvil
- Un usuario no autorizado de la Web Shop pulsa en el botón de inicio de sesión o en el botón de compra. Se abre una ventana modal para introducir el ID de usuario o iniciar sesión mediante el juego móvil.
- El usuario hace clic en el botón Log in via Mobile Game.
- Se redirige al usuario al juego y después automáticamente de vuelta a Web Shop como usuario autorizado.
En la versión de escritorio
- Un usuario no autorizado de la Web Shop pulsa en el botón de inicio de sesión o en el botón de compra. Se abre una ventana modal para introducir el ID de usuario o al iniciar sesión en la versión móvil del juego utilizando un código QR.
- El usuario escanea el código QR con su dispositivo móvil.
- Se abre Web Shop en el dispositivo móvil del usuario.
- Se redirige automáticamente al usuario al juego y luego de vuelta a Web Shop como usuario autenticado.
Flujo de interacción de servicios
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant U as Usuario
participant WS as Web Shop
participant B as Navegador
participant MOS as SO para dispositivos móviles
participant G as Juego
participant LA as Login API
U->>WS: Pulsa el botón para iniciar sesión a través del juego para móviles
activate WS
WS->>B: Redirige al usuario mediante un vínculo profundo
activate B
B->>MOS: Hace una llamada al sistema para abrir un juego para móviles
activate MOS
MOS->>G: Abre un juego para móviles
activate G
G->>LA: Genera un token de autorización
activate LA
LA-->>G: Devuelve un token de autorización
deactivate LA
G->>MOS: Hace una llamada al sistema para abrir el navegador con un token en la URL
deactivate G
MOS-->>B: Abre el navegador con un token en la URL
deactivate MOS
B-->>WS: Abre la página de Web Shop para usuarios autorizados
deactivate B
WS-->>U: Muestra el nombre de usuario en el encabezado
deactivate WS
Cómo se establece
En el lado del juego
- En la configuración de la aplicación móvil de su juego, registre un esquema de URL para abrir el juego a través de un enlace profundo:
- en aplicaciones de Android, en el archivo
AndroidManifest.xml. - en aplicaciones de iOS, en el archivo
Info.plist.
- en aplicaciones de Android, en el archivo
- Tras registrar el esquema, cuando el usuario se autentique en Web Shop mediante el juego, este deberá abrirse en la dirección especificada.
- Ejemplo de un enlace para abrir el juego a través de un esquema de URL registrado:
scheme: un identificador único de su juego utilizado en un esquema de URL personalizado para iniciar la aplicación y navegar a la acción requerida.authorize: un ejemplo de nombre de acción que debe ejecutarse tras abrir el juego. Use el nombre de acción que corresponda a las acciones del sistema operativo de su aplicación.operationPayload=<VALUE>: un parámetro que contiene información para la generación de tokens durante la autenticación. El valor son datos codificados en Base64 generados por Xsolla.
scheme://authorize?operationPayload=<VALUE>:Asegúrese de que el parámetro operationPayload se gestione correctamente. Transmítalo sin cambios: no lo descifre, modifique ni genere manualmente.
Si falta el parámetro o se modifica, la solicitud devolverá un código de error 400.
- Ejemplos:
- xml
1<key>CFBundleURLTypes</key>
2 <array>
3 <dict>
4 <key>CFBundleTypeRole</key>
5 <string>Editor</string>
6 <key>CFBundleURLSchemes</key>
7 <array>
8 <string>scheme</string>
9 </array>
10 </dict>
11 </array>

- xml
1<intent-filter>
2 <action android:name="android.intent.action.VIEW" />
3 <category android:name="android.intent.category.DEFAULT" />
4 <category android:name="android.intent.category.BROWSABLE" />
5 <data android:scheme="scheme" android:host="authorize" />
6</intent-filter>
- Implemente la generación de un token de autorización en formato JWT empleando el ID de usuario del juego.
| Parámetro | Tipo | Descripción |
|---|---|---|
loginId | string | ID del método de autorización de Cuenta del editor. Obligatorio. |
settings.projectId | integer | ID del proyecto que se encuentra en Cuenta del editor, el cual se especifica junto al nombre de su proyecto en la barra de direcciones del navegador. La URL tiene el siguiente formato: https://publisher.xsolla.com/<merchantId>/projects/<projectId>. Obligatorio. |
settings.merchantId | integer | ID del comerciante que se encuentra en Cuenta del editor, en Company settings > Company o en la barra de direcciones del navegador en cualquier página de Cuenta del editor. La URL tiene el siguiente formato: https://publisher.xsolla.com/<merchantId>/. Obligatorio. |
user.id | string | ID del usuario en el juego. Obligatorio. |
user.country | string | Código de país de dos letras mayúsculas de conformidad con la norma ISO 3166-1 alpha-2. Consulte la documentación para obtener información detallada sobre los países admitidos por Xsolla y el proceso de determinación del país. Ejemplo: US |
operationPayload | string | Parámetro que contiene información para la generación de tokens durante la autenticación. El valor son datos codificados en Base64 generados por Xsolla. Obligatorio. |
| Parámetro | Tipo | Descripción |
|---|---|---|
loginId | string | ID del método de autorización de la cuenta para juegos en móviles. Obligatorio. |
settings.projectId | integer | ID del proyecto que se encuentra en la cuenta para juegos en móviles, el cual se especifica junto al nombre de su proyecto en la barra de direcciones del navegador. La URL tiene el siguiente formato: https://xsolla.com/for/mobile-games/account/<merchantId>/projects/<projectId>. Obligatorio. |
settings.merchantId | integer | ID del comerciante que se encuentra en la cuenta para juegos en móviles, en Company settings > Company o en la barra de direcciones del navegador en cualquier página de su cuenta. La URL tiene el siguiente formato: https://xsolla.com/for/mobile-games/account/<merchantId>/. Obligatorio. |
user.id | string | ID del usuario en el juego. Obligatorio. |
user.country | string | Código de país de dos letras mayúsculas de conformidad con la norma ISO 3166-1 alpha-2. Consulte la documentación para obtener información detallada sobre los países admitidos por Xsolla y el proceso de determinación del país. Ejemplo: US |
operationPayload | string | Parámetro que contiene información para la generación de tokens durante la autenticación. El valor son datos codificados en Base64 generados por Xsolla. Obligatorio. |
- Ejemplo de llamada al método API de generación de token de usuario a través de curl:
- curl
1curl -X 'POST' \
2'https://sb-user-id-service.xsolla.com/api/v1/user-id/token' \
3-H 'accept: /' \
4-H 'Content-Type: application/json' \
5-d '{
6 "loginId": "000001aa-001a-0ab0-00001-01a01a01a01a",
7 "settings": {
8 "projectId": 123456,
9 "merchantId": 123456
10 },
11 "user": {
12 "id": "123",
13 "country": "US"
14 }
15 "operationPayload": "kosarb2NyrtIWaegJAH1f6P7XrBYPXYDya5coc_ZzcfiS_5o4QTUAL-CcGRC_Kv4CAtg"
16}'
- Obtendrá una respuesta del tipo
{token="JWT_TOKEN"}.Añada una ventana emergente con una notificación de autorización correcta (opcional).
Implemente la apertura de Web Shop en el navegador mediante el token de usuario obtenido.
- Ejemplo de crear una URL para abrir Web Shop en el navegador para un usuario autorizado:
https://example.com/?token={token}, si utiliza un dominio personalizadohttps://example.xsolla.site/?token={token}, si utiliza un dominio de Xsolla
- En el que
{token} es el token de autorización del usuario.Dentro de Site Builder
- Abra su proyecto en Cuenta del editor y vaya a Storefronts > Websites.
- Abra su proyecto en la cuenta para juegos en móviles y vaya a la sección Web Shop.
- Haga clic en Configure en la ficha del sitio de su Web Shop con autenticación mediante ID de usuario.
- Vaya a Login settings y seleccione la sección User ID.
- Active la opción Deeplink authorization.
- En el campo Deeplink URL, introduzca el enlace para la autenticación del usuario.
- Si está utilizando el bloque Fast Login en el sitio web:
- Vaya al bloque Fast Login.
- En la sección Layout, active la opción QR code.
- Para verificar la autenticación, haga clic en Preview.
- Para publicar el sitio web, haga clic en Publish.
Un enlace profundo es una URL especial que dirige al usuario directamente a una sección, página o acción específica dentro de una aplicación o sitio web, en vez de solo dirigirlo a la página principal.
Los vínculos profundos permiten a los usuarios autenticarse en Web Shop a través del juego con un solo clic, en lugar de pasar por el proceso de autenticación mediante ID de usuario o Xsolla Login.
Si el juego está instalado en el dispositivo móvil del usuario, se le redirigirá al juego a través de un enlace profundo para obtener un token de autorización.
Cuando se utiliza un enlace profundo como método principal de autenticación, se pueden guardar los datos de pago, algo que no es posible al autenticarse mediante ID de usuario y enlace profundo. En este caso, el enlace profundo agiliza la autenticación, pero no añade ninguna función.
Flujo del usuario
En la 'app' móvil
- Un usuario no autorizado en Web Shop hace clic en el botón de inicio de sesión o en el botón de compra. Se abre una ventana modal para iniciar sesión a través del juego para móviles.
- El usuario hace clic en el botón Log in via Mobile Game.
- Se redirige al usuario al juego y después automáticamente de vuelta a Web Shop como usuario autorizado.
En la versión de escritorio
- Un usuario no autorizado en Web Shop hace clic en el botón de inicio de sesión o en el botón de compra. Se abre una ventana modal para iniciar sesión en la versión para dispositivos móviles del juego mediante un código QR.
- El usuario escanea el código QR con su dispositivo móvil.
- Se abre Web Shop en el dispositivo móvil del usuario.
- Se redirige automáticamente al usuario al juego y luego de vuelta a Web Shop como usuario autenticado.
Flujo de interacción de servicios
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant U as Usuario
participant WS as Web Shop
participant B as Navegador
participant MOS as SO para dispositivos móviles
participant G as Juego
participant LA as Login API
U->>WS: Pulsa el botón para iniciar sesión a través del juego para móviles
activate WS
WS->>B: Redirige al usuario mediante un vínculo profundo
activate B
B->>MOS: Hace una llamada al sistema para abrir un juego para móviles
activate MOS
MOS->>G: Abre un juego para móviles
activate G
G->>LA: Genera un token de autorización
activate LA
LA-->>G: Devuelve un token de autorización
deactivate LA
G->>MOS: Hace una llamada al sistema para abrir el navegador con un token en la URL
deactivate G
MOS-->>B: Abre el navegador con un token en la URL
deactivate MOS
B-->>WS: Abre la página de Web Shop para usuarios autorizados
deactivate B
WS-->>U: Muestra el nombre de usuario en el encabezado
deactivate WS
Cómo se establece
En el lado del juego
- En la configuración de la aplicación móvil de su juego, registre un esquema de URL para abrir el juego a través de un enlace profundo:
- en aplicaciones de Android, en el archivo
AndroidManifest.xml. - en aplicaciones de iOS, en el archivo
Info.plist.
- en aplicaciones de Android, en el archivo
- Tras registrar el esquema, cuando el usuario se autentique en Web Shop mediante el juego, este deberá abrirse en la dirección especificada.
- Ejemplo de un enlace para abrir el juego a través de un esquema de URL registrado:
scheme: un identificador único de su juego utilizado en un esquema de URL personalizado para iniciar la aplicación y navegar a la acción requerida.authorize: un ejemplo de nombre de acción que debe ejecutarse tras abrir el juego. Use el nombre de acción que corresponda a las acciones del sistema operativo de su aplicación.operationPayload=<VALUE>: un parámetro que contiene información para la generación de tokens durante la autenticación. El valor son datos codificados en Base64 generados por Xsolla.
scheme://authorize?operationPayload=<VALUE>:Asegúrese de que el parámetro operationPayload se gestione correctamente. Transmítalo sin cambios: no lo descifre, modifique ni genere manualmente.
Si falta el parámetro o se modifica, la solicitud devolverá un código de error 400.
- Ejemplos:
- xml
1<key>CFBundleURLTypes</key>
2 <array>
3 <dict>
4 <key>CFBundleTypeRole</key>
5 <string>Editor</string>
6 <key>CFBundleURLSchemes</key>
7 <array>
8 <string>scheme</string>
9 </array>
10 </dict>
11 </array>

- xml
1<intent-filter>
2 <action android:name="android.intent.action.VIEW" />
3 <category android:name="android.intent.category.DEFAULT" />
4 <category android:name="android.intent.category.BROWSABLE" />
5 <data android:scheme="scheme" android:host="authorize" />
6</intent-filter>
- Implemente la generación de un token de autorización en formato JWT empleando el ID de usuario del juego.
| Parámetro | Tipo | Descripción |
|---|---|---|
loginId | string | ID del método de autorización de Cuenta del editor. Obligatorio. |
settings.projectId | integer | ID del proyecto que se encuentra en Cuenta del editor, el cual se especifica junto al nombre de su proyecto en la barra de direcciones del navegador. La URL tiene el siguiente formato: https://publisher.xsolla.com/<merchantId>/projects/<projectId>. Obligatorio. |
settings.merchantId | integer | ID del comerciante que se encuentra en Cuenta del editor, en Company settings > Company o en la barra de direcciones del navegador en cualquier página de Cuenta del editor. La URL tiene el siguiente formato: https://publisher.xsolla.com/<merchantId>/. Obligatorio. |
user.id | string | ID del usuario en el juego. Obligatorio. |
user.country | string | Código de país de dos letras mayúsculas de conformidad con la norma ISO 3166-1 alpha-2. Consulte la documentación para obtener información detallada sobre los países admitidos por Xsolla y el proceso de determinación del país. Ejemplo: US |
operationPayload | string | Parámetro que contiene información para la generación de tokens durante la autenticación. El valor son datos codificados en Base64 generados por Xsolla. Obligatorio. |
| Parámetro | Tipo | Descripción |
|---|---|---|
loginId | string | ID del método de autorización de la cuenta para juegos en móviles. Obligatorio. |
settings.projectId | integer | ID del proyecto que se encuentra en la cuenta para juegos en móviles, el cual se especifica junto al nombre de su proyecto en la barra de direcciones del navegador. La URL tiene el siguiente formato: https://xsolla.com/for/mobile-games/account/<merchantId>/projects/<projectId>. Obligatorio. |
settings.merchantId | integer | ID del comerciante que se encuentra en la cuenta para juegos en móviles, en Company settings > Company o en la barra de direcciones del navegador en cualquier página de su cuenta. La URL tiene el siguiente formato: https://xsolla.com/for/mobile-games/account/<merchantId>/. Obligatorio. |
user.id | string | ID del usuario en el juego. Obligatorio. |
user.country | string | Código de país de dos letras mayúsculas de conformidad con la norma ISO 3166-1 alpha-2. Consulte la documentación para obtener información detallada sobre los países admitidos por Xsolla y el proceso de determinación del país. Ejemplo: US |
operationPayload | string | Parámetro que contiene información para la generación de tokens durante la autenticación. El valor son datos codificados en Base64 generados por Xsolla. Obligatorio. |
Antes de generar un token de autorización por primera vez, contacte con el gestor personal de su proyecto o envíe un correo electrónico a [email protected] para activar la configuración del token. Este paso es necesario para garantizar el buen funcionamiento del método seguro de autenticación de usuarios.
- Ejemplo de llamada al método API de generación de token de usuario a través de curl:
- curl
1curl -X 'POST' \
2'https://sb-user-id-service.xsolla.com/api/v1/user-id/token' \
3-H 'Accept: /' \
4-H 'Content-Type: application/json' \
5-d '{
6 "loginId": "string",
7 "settings": {
8 "projectId": 0,
9 "merchantId": 0
10 },
11 "user": {
12 "id": "string",
13 "country": "string",
14 "name": "string",
15 "picture": "string"
16 },
17 "operationPayload": "eyJ4c29sbGF1aWQiOiIzNzE5Nzc5NjU1MDE2Nzc2MzcifQ%3D%3D"
18}'
- Obtendrá una respuesta del tipo
{token="JWT_TOKEN"}.Añada una ventana emergente con una notificación de autorización correcta (opcional).
Implemente la apertura de Web Shop en el navegador mediante el token de usuario obtenido.
- Ejemplo de crear una URL para abrir Web Shop en el navegador para un usuario autorizado:
https://example.com/?token={token}, si utiliza un dominio personalizadohttps://example.xsolla.site/?token={token}, si utiliza un dominio de Xsolla
- En el que
{token} es el token de autorización del usuario.Dentro de Site Builder
- Abra su proyecto en Cuenta del editor y vaya a Storefronts > Websites.
- Haga clic en Configure en la ficha del sitio de su Web Shop.
- Abra su proyecto en la cuenta para juegos en móviles y vaya a la sección Web Shop.
- En la tarjeta de su sitio, haga clic en el icono ⋮ y seleccione Configure.
- Vaya a Login settings y seleccione Deep link.
- En el campo Deeplink URL, introduzca el enlace para la autenticación del usuario.
- Si está utilizando el bloque Fast Login en el sitio web:
- Vaya al bloque Fast Login.
- En Block Settings, ajuste el estilo de visualización del botón de inicio de sesión con código QR.
- Para verificar la autenticación, haga clic en Preview.
- Para publicar el sitio web, haga clic en Publish.
Flujo del usuario
- El usuario se dirige a Web Shop con la autenticación de Xsolla Login configurada.
- El usuario hace clic en el botón de compra del artículo seleccionado, el botón de inicio de sesión de la barra superior o el botón de inicio de sesión del bloque de Fast Login (inicio de sesión rápido).
- Se abre una ventana modal con los métodos de autorización establecidos en Xsolla Login.
- El usuario procede a la autorización e introduce datos adicionales si es necesario.
- El sistema verifica si el usuario existe en el juego. Si el usuario existe en el juego, el usuario es autorizado en Web Shop. En caso contrario, aparece un mensaje de error.
Cómo conseguirlo
- En el Builder de su sitio web, vaya al bloque Login settings.
- Seleccione la opción de autorización de Xsolla Login.
- En la lista desplegable, seleccione New Login.
Como resultado, se creará automáticamente el proyecto de Login con autenticación de usuario mediante correo electrónico y contraseña. Para el proyecto de Login creado, se especificará la URL de Web Shop como URL de devolución de llamada a la que se redirigirá al usuario en los siguientes casos:
- tras autenticación correcta
- tras una confirmación correcta mediante correo electrónico
- tras un restablecimiento de contraseña
- en caso de fallo de autenticación
Cuando se cambia el dominio de Web Shop, la URL de devolución de llamada presente en la configuración del proyecto de Login cambia automáticamente.
- Vaya a la configuración del proyecto de Login desde la ventana modal o haga clic en Set up authentication method en el bloque Xsolla Login.
Para la autenticación en Web Shop, establezca las mismas redes sociales que las establecidas para la autenticación en su aplicación. Si las redes sociales no están establecidas, estará disponible la autenticación de usuario mediante dirección de correo electrónico y contraseña.
Cuando establezca la autenticación en Web Shop a través de redes sociales, utilice el mismo ID de aplicación y el mismo secreto de aplicación que para la autenticación en su aplicación.

- Conecte el almacenamiento de datos de usuarios.
En función del método de almacenamiento de los datos de usuarios, tendrá a su disposición diferentes funcionalidades del producto (consulte Comparación de las opciones de almacenamiento de datos de usuario).
Almacenamiento de Xsolla
Si desea que el producto Login procese toda la lógica de autenticación, conéctese al almacenamiento de Xsolla. Dispondrá de una configuración más flexible.
Cuando crea un proyecto de Login, el almacenamiento de Xsolla está conectado por defecto, no se requieren pasos adicionales para configurarlo. Si ha cambiado el tipo de almacenamiento por defecto y necesita volver a conectarse al almacenamiento de Xsolla, sigue estos pasos:
- En la página de navegación, vaya al bloque User database y seleccione la sección Storage.
- Seleccione Xsolla storage y haga clic en Save change.
Almacenamiento de PlayFab
Si desea utilizar la funcionalidad de PlayFab para operar con usuarios, conéctese al almacenamiento de PlayFab. Este almacenamiento guarda los siguientes datos de usuario:
- nombre de usuario
- dirección de correo electrónico del usuario
- contraseña del usuario
- de un formulario de registro ampliado si el formulario está establecido
El almacenamiento de PlayFab le da acceso a las siguientes funciones:
- registro de usuarios
- autenticación mediante dirección de correo electrónico o nombre de usuario y contraseña
- autenticación a través de Twitch
- restablecimiento de contraseña de usuario
- bloqueo de usuarios
Para conectar el almacenamiento:
- Vaya al bloque User database y seleccione la sección Storage.
- Seleccione PlayFab.
- En el campo Title ID, introduzca el valor del mismo campo de su cuenta de PlayFab.
- Haga clic en Save changes.
Firebase Storage
Si desea utilizar la funcionalidad de Firebase para operar con usuarios, conéctese al almacenamiento de Firebase. Este almacenamiento guarda los siguientes datos de usuario:
- nombre de usuario
- dirección de correo electrónico del usuario
- contraseña del usuario
- de un formulario de registro ampliado si el formulario está establecido
- Vaya al bloque User database y seleccione la sección Storage.
- Seleccione Firebase.
- En el campo API key, introduzca el valor del mismo campo de su cuenta de Firebase.
- Haga clic en Save changes.
Almacenamiento personalizado
Si utiliza su propio sistema de autorización y almacena los datos de usuario en el lado de su aplicación, conéctelo al almacenamiento personalizado.
El almacenamiento personalizado le da acceso a las siguientes funciones:
- registro de usuario
- autenticación mediante dirección de correo electrónico o nombre de usuario y contraseña
- autenticación sin contraseña mediante número de teléfono
- autenticación mediante redes sociales
- restablecimiento de contraseña de usuario
- Conecte el almacenamiento personalizado.
- Establezca el procesamiento de solicitudes del servidor de Xsolla Login.
Conectar almacenamiento personalizado
- Vaya al bloque User database y seleccione la sección Storage.
- Seleccione Custom storage.
- Introduzca las URL a las que enviar las solicitudes API:
- Haga clic en Save changes.
- Para las URL que ha establecido, implemente una API que responda de la siguiente manera:
- HTTP 200/HTTP 204 para las solicitudes aceptadas. Si es necesario, se puede colocar en el cuerpo de la respuesta un JSON que contenga datos adicionales del usuario. Los datos transmitidos se escriben en un JWT (el parámetro
partner_data). - Otros códigos de estado HTTP para solicitudes fallidas.
- HTTP 200/HTTP 204 para las solicitudes aceptadas. Si es necesario, se puede colocar en el cuerpo de la respuesta un JSON que contenga datos adicionales del usuario. Los datos transmitidos se escriben en un JWT (el parámetro
- Para asignar campos JSON a propiedades de perfil de usuario en Xsolla y configurar la vinculación de cuentas por ID de usuario en su servidor, siga las instrucciones.
- Para que la autenticación sin contraseña mediante un número de teléfono funcione correctamente, su respuesta API debe contener el parámetro
account_idque coincida con el ID de usuario del cliente.
Establecer el procesamiento de solicitudes del servidor de Xsolla Login
Las solicitudes del servidor de Xsolla Login se envían a las URL, que especificó en Cuenta del editor, con el encabezado Authorization: Bearer <JWT>. El JWT se firma con la clave secreta de su proyecto.
- Valide un JWT recibido.
- Si la validación es correcta, descodifique el JWT y asegúrese de que incluye las reclamaciones de la tabla siguiente. Busque y utilice una biblioteca para la descodificación.
| Reclamación | Tipo | Descripción |
|---|---|---|
| exp | Marca de tiempo Unix | La fecha y hora de expiración del JWT. El ciclo de vida del JWT es de 7 minutos. |
| iat | Marca de tiempo Unix | La fecha y la hora en que se emitió el JWT. |
| iss | string | El servicio que firmó el JWT: https://login.xsolla.com. |
| request_type | string | Constante: gateway_request. |
| xsolla_login_project_id | string (cadena) (UUID) | Su ID de proyecto de Login en Cuenta del editor. |
| social_access_token | string (cadena) (UUID) | Token de acceso de la red social a través de la cual se autenticó el usuario. Para activar la transmisión de esta notificación, contacte con su gestor del éxito del cliente o envíe un correo electrónico a [email protected]. |
- json
1{
2 "exp": 1573635020,
3 "iat": 1573634600,
4 "iss": "https://login.xsolla.com",
5 "request_type": "gateway_request",
6 "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000"
7}
Flujo del usuario
- El usuario accede por primera vez a Web Shop con la autenticación configurada y el ID de usuario vinculado.
- El usuario pulsa en el botón de compra del artículo seleccionado, el botón de inicio de sesión de la barra superior o el botón de inicio de sesión del bloque de Fast Login.
- Se abre una ventana modal con los métodos de autorización establecidos en Xsolla Login.
- El usuario comienza el proceso de autorización e introduce datos adicionales si es necesario.

- Tras realizar correctamente la autorización mediante Xsolla Login, se abre la ventana modal para vincular el ID de usuario del juego.

- El sistema verifica si el usuario existe. Si el usuario con el ID especificado existe en el juego, se le autorizará en Web Shop. De lo contrario, se mostrará un mensaje de error.
Cómo conseguirlo
En su aplicación, implemente la gestión del webhook de validación de usuarios.
Al recibir un webhook, la aplicación debe hacer lo siguiente:
- Buscar un usuario por su ID transmitido en el webhook.
- En función del resultado, enviar uno de los siguientes códigos de estado:
- código HTTP 200 HTTP con una respuesta del webhook si se encuentra un usuario
- código HTTP 404 si no se encuentra el ID de usuario
- Enviar atributos de usuario para la personalización.
- Abra su proyecto en Cuenta del editor y vaya a Storefronts > Websites.
- En el panel del sitio correspondiente, haga clic en Open Site Builder.
- Abra su proyecto en la cuenta para juegos en móviles y vaya a la sección Web Shop.
- Haga clic en el panel del sitio correspondiente.
- Si su sitio tiene varias páginas, seleccione la que necesite:
- Haga clic en el título de la página actual, situado en la parte superior del creador.
- Seleccione la página que necesita de la lista desplegable.
- Vaya al bloque Login settings.
- Seleccione la opción Login with linked user ID.
- En la lista desplegable, seleccione New Login o alguno de los proyectos creados.
- Introduzca la URL para recibir webhooks.
https://. Si se usa http://, se producirá un error.Puede establecer cualquier método de autorización, pero para simplificar la experiencia del usuario durante la fase de autenticación inicial, le recomendamos usar el inicio de sesión mediante redes sociales:
a. Abra su proyecto en Cuenta del editor y vaya a la sección Players > Login. b. Haga clic en Configure en el panel del proyecto de inicio de sesión relevante.
c. Acceda al bloque Authentication y seleccione Social login.
d. Para establecer una red social, vaya a la ficha de la red social, haga clic en el icono ⚙ situado a la derecha del título y seleccione Connect.
Puede establecer cualquier método de autorización, pero para simplificar la experiencia del usuario durante la fase de autenticación inicial, le recomendamos usar el inicio de sesión mediante redes sociales: a. Abra su proyecto en la cuenta para juegos en móviles y vaya a Other tools > Login.
b. Haga clic en Configure en el panel del proyecto de inicio de sesión relevante.
c. Acceda al bloque Authentication y seleccione Social login.
d. Para establecer una red social, vaya a la ficha de la red social, haga clic en el icono ⚙ situado a la derecha del título y seleccione Connect.
Establecer el bloque de Fast Login
El bloque Fast Login le permite resaltar el paso de autorización y agilizar el proceso de compra del usuario.

Para utilizar este bloque Fast Login, primero debe seleccionar un método de autorización en la sección Login settings. El aspecto y el comportamiento del bloque dependerán del método de autenticación elegido.
Si está configurada la autenticación mediante ID de usuario para el sitio web, el bloque de Fast Login muestra un campo para introducir el ID y un botón de inicio de sesión.
Funciones:
- Autenticación de usuario sin transición adicional hacia la ventana modal.
- Establecer el contenido del bloque. Puede habilitar y configurar las siguientes secciones:
- Título
- Descripción
- Instrucciones sobre cómo encontrar el ID de usuario
- Fondo personalizado
También puede ampliar las funciones del bloque; por ejemplo, agregar texto, un botón o una imagen, empleando código JS.
Para el método de autenticación de ID de usuario de la sección Login settings, también debe especificar la URL para recibir el webhook. Si no lo especifica, el sitio web no podrá publicarse porque la autenticación de usuario no estará disponible.
La autenticación de usuario durante la previsualización del sitio web puede realizarse sin agregar una URL del webhook.
El bloque Fast Login se añade automáticamente a los sitios creados con la plantilla de Web Shop.
Si su sitio no incluye este bloque, puede añadirlo manualmente en el creador de sitios web.
Para agregar un bloque de Fast Login:
- Abra el proyecto en Cuenta del editor y vaya a Storefronts > Websites.
- En la sección Sites, seleccione su sitio web y haga clic en Open Site Builder.
- Abra su proyecto en la cuenta para juegos en móviles y vaya a la sección Web Shop.
- Haga clic en la tarjeta de su sitio web.
- Haga clic en Add block.
- Elija el bloque de Fast Login.
Seguir leyendo
Enlaces útiles
Flujo de integración¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.