Establecer la autenticación mediante vínculo profundo
Los vínculos profundos permiten que el usuario se autentique en la 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 mediante Xsolla Login.
Si el juego está instalado en el dispositivo móvil del usuario, a este se le redirigirá al juego mediante un vínculo 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 pulsa en el botón de inicio de sesión a través del juego.
- Al usuario se le redirige al juego desde donde se le redirige automáticamente a Web Shop como un 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, tras lo cual se abre la Web Shop en su dispositivo móvil.
- La versión móvil del juego se abre en el dispositivo móvil del usuario
- Al usuario se le redirige automáticamente a la Web Shop como usuario autorizado.
Flujo de interacción de servicios
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 vínculo 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
gamename://authorize
, en el que:gamename
: el nombre de su juego que debe abrirse en un dispositivo móvil para la autenticación del usuario.authorize
: un ejemplo de un nombre de acción que debe ejecutarse después de que se abra el juego gamename. Use el nombre de acción que coincida con las acciones del sistema operativo de su aplicación.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>gamename</string>
</array>
</dict>
</array>
Ejemplo de registro de un esquema URL en aplicaciones de Android:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="gamename" android:host="authorize" />
</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 (ID de inicio de sesión) | string | ID del método de autorización de Cuenta del editor. Obligatorio. |
webhookUrl (URL del webhook) | string | URL para recibir el webhook User validation in Web Shop (Validación de usuarios en Web Shop). La URL debe coincidir con la dirección especificada cuando se establezca la autenticación mediante ID de usuario. Xsolla espera un código HTTP 200 como respuesta al webhook para autorizar al usuario de la Web Shop. Si Xsolla recibe una respuesta con un código HTTP 404 o no recibe respuesta, el usuario no será autorizado.Puede especificar el valor "webhookUrl": "https://nowebhook.com" para deshabilitar los webhooks cuando se autentique mediante un vínculo profundo. En este caso, Xsolla no comprueba la existencia del usuario, así que asegúrese de que en el parámetro user.id se transmite el ID de usuario que existe en el juego.Obligatorio. |
settings.projectId | string | 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/merchant ID/Publisher Account section . Obligatorio. |
user.id | string | ID del usuario en el juego. Obligatorio. |
user.name | string | Nombre de usuario. Obligatorio. |
Ejemplo de llamada al método API de generación de token de usuario a través de cURL:
- curl
curl --location 'https://sb-user-id-service.xsolla.com/api/v1/user-id' \
--header 'Content-Type: application/json' \
--data '{
"loginId": "000001aa-001a-0ab0-00001-01a01a01a01a",
"webhookUrl": "https://nowebhook.com",
"settings": {
"projectId": 123456,
"merchantId": 123456
},
"user": {
"id": "123",
"name": "a-user-name"
}
}'
Obtendrá una respuesta del tipo {token=“JWT_TOKEN”}
.
- Agregue 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 creación de una URL para abrir Web Shop en el navegador para un usuario autorizado:
https://example.com/?token={token}
, si utiliza un dominio personalizadohttps://example.xsollasitebuilder.com/?token={token}
, si utiliza un dominio de Xsolla
{token}
es el token de autorización del usuario.Dentro de Site Builder
Puede realizar los ajustes en el lado de Site Builder utilizando los códigos de ejemplo sumistrados abajo.Para obtener ayuda para la instalación, contacte con su Gestor de éxito del cliente o envíe un correo electrónico a csm@xsolla.com.
- Abra el proyecto en la Cuenta del editor.
- En el menú lateral, haga clic en Site Builder (Creador de sitios web).
- 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.
- Establezca el conmutador Deeplink authorization en la posición On.
- 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, ponga el conmutador QR code en la posición On.
- Para verificar la autenticación, haga clic en Preview.
- Para publicar el sitio web, haga clic en Publish.
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.