Almacenamiento personalizado de datos de usuarios
Si usa un almacenamiento de datos de usuario personalizado, Xsolla Login interviene como intermediario y todos los datos de identificación del usuario se almacenan en su lado. Xsolla Login transmite los datos de autenticación en el token que se incluye en el encabezado de los webhooks y en sus cuerpos.
- registro de usuario
- autenticación mediante nombre de usuario y contraseña
- autenticación sin contraseña mediante número de teléfono
- autenticación sin contraseña mediante correo electrónico
- autenticación mediante redes sociales
- restablecimiento de contraseña de usuario
POST realizadas desde Xsolla no llegan a las URL como http://localhost:3000/my-webhook-endpoint. Ngrok le permite crear un túnel de acceso externo, permitiéndole recibir solicitudes de Xsolla localmente. Puede obtener más información en la documentación de ngrok.Flujo de interacción
Puede utilizar el widget de inicio de sesión o su aplicación, que usa las llamadas de Login API como un cliente. El flujo de interacción entre el cliente y el servidor de Xsolla Login es el siguiente:
- El cliente envía solicitudes al servidor de Xsolla Login. El formato de las solicitudes se describe en Authentication methods.
- El servidor de Xsolla Login envía webhooks a su servidor. El encabezado incluye un JWT de servidor con el parámetro
“request_type”: “gateway_token”. Para configurar la validación del token, siga las instrucciones. Para configurar la validación de tókenes, siga las instrucciones. Una parte de los datos de identificación del usuario se transmite en el cuerpo del webhook. - Para confirmar la recepción del webhook, su servidor debe devolver:
- Código HTTP
200,201o204en caso de respuesta correcta. - Código HTTP
400con la descripción del problema si no se encuentra el usuario especificado o se transmitió una firma no válida. Su controlador de webhook también puede devolver un código HTTP5xxsi se producen problemas temporales en su servidor.
- Código HTTP
- El servidor de Xsolla Login procesa una respuesta de su servidor y devuelve el token de autorización al cliente.
- El cliente procesa la respuesta.
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
YC->>XL: Envía una solicitud
XL->>YS: Envía un webhook
activate YS
YS-->>XL: Devuelve un código HTTP
deactivate YS
XL-->>YC: Devuelve un token de autorización
activate YC
note right of YC: Procesa la respuesta
deactivate YC
Si desea agregar información del usuario al JWT tras la identificación del usuario, devuelva un objeto JSON con cualquier conjunto de parámetros en el cuerpo de la respuesta. Este objeto se guardará en el campo partner_data del JWT.
Puede utilizar el widget de inicio de sesión o su aplicación, que usa las llamadas de Login API como un cliente. El flujo de interacción entre el cliente y el servidor de Xsolla Login es el siguiente:
- El cliente envía solicitudes al servidor de Xsolla Login. El formato de las solicitudes se describe en Authentication methods.
- El servidor de Xsolla Login envía webhooks a su servidor. El encabezado incluye un JWT de servidor con el parámetro
“request_type”: “gateway_token”. Para configurar la validación de tókenes, siga las instrucciones. Una parte de los datos de identificación del usuario se transmite en el cuerpo del webhook. - Para confirmar la recepción del webhook, su servidor debe devolver:
- Código HTTP
200,201o204en caso de respuesta correcta. - Código HTTP
400con la descripción del problema si no se encuentra el usuario especificado o se transmitió una firma no válida. Su controlador de webhook también puede devolver un código HTTP5xxsi se producen problemas temporales en su servidor.
- Código HTTP
- El servidor de Xsolla Login procesa una respuesta de su servidor y devuelve el token de autorización al cliente.
- El cliente envía la solicitud Generar JWT
POSTal servidor de Xsolla Login. El cuerpo de la solicitud debe incluir los siguientes parámetros obligatorios:grant_type: tipo de concesión JWT, transmitir el valorauthorization_code.client_id: ID de cliente OAuth 2.0.client_secret: ID secreto de cliente OAuth 2.0. Obligatorio para el tipo de autenticación confidencial.code: código de autorización.
- El servidor de Xsolla Login devuelve un par de JWT al cliente: un token de acceso y un token de actualización.
- El cliente procesa la respuesta.
- Cuando el token de acceso caduca, el cliente envía la solicitud Generar JWT
POSTal servidor de Xsolla Login. El cuerpo de la solicitud debe incluir los siguientes parámetros obligatorios:grant_type: tipo de concesión JWT, transmitir el valorrefresh_token.client_id: ID de cliente OAuth 2.0.refresh_token: el token de actualización recibido en la respuesta a la solicitud de autorización del usuario.
Puede añadir información del usuario al JWT cuando identifique un usuario o actualice un token, devuelva un objeto JSON con cualquier conjunto de parámetros en el cuerpo de la respuesta. Este objeto se guardará en el campo partner_data del JWT.
- alias
- fecha de nacimiento
- nombre
- apellidos
- ID de usuario en su servidor
También puede actualizar los atributos de usuario transmitiendo una matriz de objetos con atributos de usuario. Abajo se describe la estructura de estos objetos.
Estructura de un objeto con atributos de usuario:
| Parámetro | Tipo | Descripción |
|---|---|---|
attr_type | string | Definición del nivel de acceso del usuario a los atributos de servicio:
|
key | string | El nombre del atributo que se utiliza para identificar el atributo del usuario. Debe ser único para cada usuario. Longitud máxima: 256 símbolos. Se pueden utilizar números, caracteres latinos, guiones y guiones bajos. |
permission | string o null | El tipo de acceso a los atributos del usuario afecta a la lista de atributos devuelta por los métodos:
Valores posibles: public y private (por defecto). |
read_only | string | Si el atributo está protegido, o no, de las modificaciones. Por defecto, se permite false y cambiar los valores del atributo. |
value | string | El valor del atributo de usuario. Longitud máxima: 256 símbolos. |
Registro de usuarios
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
U->>YC: Introduce los datos de registro
YC->>XL: Envía una solicitud de registro de usuario
XL->>YS: Envía un webhook
alt Registro realizado correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve el JWT del usuario
YC-->>U: Notifica al usuario
else Registro fallido
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de registro
YC-->>U: Muestra un mensaje de error
end
- El cliente envía la solicitud de
Register new user POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de Login en Cuenta del editor. - Parámetros del cuerpo:
username: nombre de usuario. Longitud permitida: de 3 a 255 caracteres.password: contraseña de usuario. Longitud permitida: de 6 a 100 caracteres.email: dirección de correo electrónico. del usuario. Longitud permitida: de 1 a 255 caracteres.
- El parámetro de consulta
- El servidor de Xsolla Login envía un webhook a la URL de nuevo usuario. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
- El cliente envía la solicitud de
Register new user POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de inicio de sesión en la cuenta para juegos en móviles. - Parámetros del cuerpo:
username: nombre de usuario. Longitud permitida: de 3 a 255 caracteres.password: contraseña de usuario. Longitud permitida: de 6 a 100 caracteres.email: dirección de correo electrónico. del usuario. Longitud permitida: de 1 a 255 caracteres.
- El parámetro de consulta
- El servidor de Xsolla Login envía un webhook a la URL de nuevo usuario. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
- El cliente envía la solicitud
Register new user POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - Parámetros del cuerpo:
username— nombre de usuario. Longitud permitida: de 3 a 255 caracteres.password— contraseña de usuario. Longitud permitida: de 6 a 100 caracteres.email— dirección de correo electrónico del usuario. Longitud permitida: de 1 a 255 caracteres.
- El parámetro de consulta
- El servidor de Xsolla Login envía un webhook a la New user URL. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Ejemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_registration_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"[email protected]",
7 "password":"123456",
8 "username":"[email protected]"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_registration_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"[email protected]","password":"123456","username":"[email protected]"}'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
- Los datos del usuario se escriben en la base de datos de Xsolla, mientras que el
emailse marca como sin confirmar. El usuario recibirá un correo electrónico de confirmación de la cuenta. - Si ha integrado el widget de Login, se redirigirá al usuario a la página con el siguiente mensaje: Por favor, confirma tu cuenta siguiendo las instrucciones que enviamos a {email}.
- Si el registro del usuario no se realiza correctamente, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, transmita un objeto de
errorcon los siguientes detalles:- en el parámetro de
code, especifique011-002. - En el parámetro de
description, facilite el texto del mensaje de error.
- en el parámetro de
Ejemplo de objeto con un mensaje de error:
- json
1{
2 "error": {
3 "code": "011-002",
4 "description": "<string>"
5 }
6}
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
U->>YC: Introduce los datos de registro
YC->>XL: Envía una solicitud de registro de usuario
XL->>YS: Envía un webhook
alt Registro realizado correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve un código de autorización
YC->>XL: Envía una solicitud para generar el JWT del usuario
XL-->>YC: Devuelve el JWT del usuario y el token de actualización
YC-->>U: Notifica al usuario
else Registro fallido
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de registro
YC-->>U: Muestra un mensaje de error
end
- El cliente envía la solicitud
Register new user POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- Parámetros de consulta:
response_type: tipo de concesión JWT, transmitir el valorcode.client_id: ID de cliente OAuth 2.0.state: valor que se utiliza para la autenticación adicional del usuario. Obligatorio para evitar los ataques de CSRF. Se devuelve en la respuesta. Longitud permitida: de 1 a 8 caracteres.
- Parámetros del cuerpo:
username: nombre de usuario. Longitud permitida: de 3 a 255 caracteres.password: contraseña de usuario. Longitud permitida: de 6 a 100 caracteres.email: dirección de correo electrónico del usuario. Longitud permitida: de 1 a 255 caracteres.
- Parámetros de consulta:
- El servidor de Xsolla Login envía un webhook a la URL de nuevo usuario. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Ejemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_registration_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"[email protected]",
7 "password":"123456",
8 "username":"[email protected]"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_registration_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"[email protected]","password":"123456","username":"[email protected]"}'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
- Los datos del usuario se escriben en la base de datos de Xsolla, mientras que el
emailse marca como sin confirmar. El usuario recibirá un correo electrónico de confirmación de la cuenta. - Si ha integrado el widget de Login, se redirigirá al usuario a la página con el siguiente mensaje: Por favor, confirma tu cuenta siguiendo las instrucciones que enviamos a {email}.
- Si el registro del usuario no se realiza correctamente, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, transmita un objeto de
errorcon los siguientes detalles:- en el parámetro de
code, especifique011-002. - En el parámetro de
description, facilite el texto del mensaje de error.
- en el parámetro de
Ejemplo de objeto con un mensaje de error:
- json
1{
2 "error": {
3 "code": "011-002",
4 "description": "<string>"
5 }
6}
Autenticación mediante nombre de usuario y contraseña
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
U->>YC: Introduce el nombre de usuario y la contraseña
YC->>XL: Envía una solicitud de autenticación de usuario
XL->>YS: Envía un webhook
alt Autenticación realizada correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve el JWT del usuario
YC-->>U: Completa la autenticación
else Autenticación fallida
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de autenticación
YC-->>U: Muestra un mensaje de error
end
- El cliente envía la solicitud
Auth by username and password POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de Login en Cuenta del editor. - Parámetros del cuerpo:
username: nombre de usuario. Longitud permitida: de 3 a 255 caracteres.password: contraseña de usuario. Longitud permitida: de 6 a 100 caracteres.
- El parámetro de consulta
- El servidor de Xsolla Login envía un webhook a la URL de verificación de usuario. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
- El cliente envía la solicitud
Auth by username and password POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de inicio de sesión en la cuenta para juegos en móviles. - Parámetros del cuerpo:
username: nombre de usuario. Longitud permitida: de 3 a 255 caracteres.password: contraseña de usuario. Longitud permitida: de 6 a 100 caracteres.
- El parámetro de consulta
- El servidor de Xsolla Login envía un webhook a la URL de verificación de usuario. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
- El cliente envía la solicitud
Auth by username and password POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - Parámetros del cuerpo:
username— nombre de usuario. Longitud permitida: de 3 a 255 caracteres.password— contraseña de usuario. Longitud permitida: de 6 a 100 caracteres.
- El parámetro de consulta
- El servidor de Xsolla Login envía un webhook a la User verification URL. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Ejemplo de webhook de URL de verificación del usuario:
http
- http
- curl
1POST https://your.hostname/your_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"[email protected]",
7 "password":"123456",
8 "username":"[email protected]"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"[email protected]","password":"123456","username":"[email protected]"}'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
- Si la autenticación del usuario no se realiza adecuadamente, puede mostrar un mensaje de error en el widget de autenticación. Para hacerlo, en la respuesta a la solicitud de creación de un usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error; por ejemplo,011-002. - En el parámetro de
description, facilite el texto del mensaje de error.
- En el parámetro de
- El servidor de Xsolla Login genera un JWT de usuario.
- El usuario es redirigido a la
login_urlcon un parámetro de consultatoken. El parámetrotokencontiene el JWT de usuario.
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
U->>YC: Introduce el nombre de usuario y la contraseña
YC->>XL: Envía una solicitud de autenticación de usuario
XL->>YS: Envía un webhook
alt Autenticación realizada correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve un código de autorización
YC->>XL: Envía una solicitud para generar el JWT del usuario
XL-->>YC: Devuelve el JWT del usuario y el token de actualización
YC-->>U: Completa la autenticación
else Autenticación fallida
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de autenticación
YC-->>U: Muestra un mensaje de error
end
- El cliente envía la solicitud
Auth by username and password POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- Parámetros de consulta:
grant_type: tipo de concesión JWT, transmitir el valorcode.client_id: ID de cliente OAuth 2.0.state: valor que se utiliza para la autenticación adicional del usuario. Obligatorio para evitar ataques de CSRF. Se devuelve en la respuesta. Longitud permitida: de 1 a 8 caracteres.
- Parámetros del cuerpo:
username: nombre de usuario. Longitud permitida: de 3 a 255 caracteres.password: contraseña de usuario. Longitud permitida: de 6 a 100 caracteres.
- Parámetros de consulta:
- El servidor de Xsolla Login envía un webhook a la URL de verificación de usuario. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Ejemplo de webhook de URL de verificación del usuario:
http
- http
- curl
1POST https://your.hostname/your_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"[email protected]",
7 "password":"123456",
8 "username":"[email protected]"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"[email protected]","password":"123456","username":"[email protected]"}'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
- Si la autenticación del usuario no se realiza adecuadamente, puede mostrar un mensaje de error en el widget de autenticación. Para hacerlo, en la respuesta a la solicitud de creación de un usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error; por ejemplo,011-002. - En el parámetro de
description, facilite el texto del mensaje de error.
- En el parámetro de
- El servidor de Xsolla Login genera un JWT de usuario.
- El usuario es redirigido a la
login_urlcon un parámetro de consultatoken. El parámetrotokencontiene el JWT de usuario.
Autenticación sin contraseña mediante número de teléfono
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
U->>YC: Introduce el número de teléfono
YC->>XL: Envía una solicitud para iniciar la autenticación mediante el número de teléfono
XL-->>U: Envía un SMS con el código de confirmación
U->>YC: Introduce el código de confirmación
YC->>XL: Envía una solicitud para completar la autenticación mediante el número de teléfono
XL->>YS: Envía un webhook
alt Autenticación realizada correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve el JWT del usuario
YC-->>U: Completa la autenticación
else Autenticación fallida
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de autenticación
YC-->>U: Muestra un mensaje de error
end
- El cliente abre un formulario de autenticación para que el usuario pueda introducir su número de teléfono.
- El usuario introduce su número de teléfono.
- El cliente envía la solicitud
Start auth by phone number POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de Login en Cuenta del editor. - El parámetro del cuerpo
phone_number: número de teléfono del usuario.
- El parámetro de consulta
- El cliente muestra un campo para que el usuario pueda rellenar el código de verificación.
- El usuario introduce el código de verificación recibido.
- El cliente del juego envía la solicitud de
Complete auth by phone number POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: el ID del proyecto de Login en Cuenta del editor. - Parámetros del cuerpo:
code- código de confirmación.phone_number- número de teléfono del usuario.operation_id- ID del código de confirmación.
- El parámetro de consulta
- Si es la primera autorización del usuario, el servidor de Xsolla Login envía un webhook a URL de inicio de sesión sin contraseña. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario. - Si la autenticación del usuario no se supera, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error; por ejemplo,011-002. - En el parámetro de
descriptionfacilite el texto del mensaje de error.
- En el parámetro de
- El cliente abre un formulario de autenticación para que el usuario pueda introducir su número de teléfono.
- El usuario introduce su número de teléfono.
- El cliente envía la solicitud
Start auth by phone number POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de inicio de sesión en la cuenta para juegos en móviles. - El parámetro del cuerpo
phone_number: número de teléfono del usuario.
- El parámetro de consulta
- El cliente muestra un campo para que el usuario pueda rellenar el código de verificación.
- El usuario introduce el código de verificación recibido.
- El cliente del juego envía la solicitud de
Complete auth by phone number POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: el ID del proyecto de inicio de sesión en la cuenta para juegos en móviles. - Parámetros del cuerpo:
code- código de confirmación.phone_number- número de teléfono del usuario.operation_id- ID del código de confirmación.
- El parámetro de consulta
- Si es la primera autorización del usuario, el servidor de Xsolla Login envía un webhook a URL de inicio de sesión sin contraseña. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario. - Si la autenticación del usuario no se supera, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error; por ejemplo,011-002. - En el parámetro de
descriptionfacilite el texto del mensaje de error.
- En el parámetro de
- El cliente abre un formulario de autenticación para que el usuario pueda introducir su número de teléfono.
- El usuario introduce su número de teléfono.
- El cliente envía la solicitud
Start auth by phone number POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - El parámetro del cuerpo
phone_number— número de teléfono del usuario.
- El parámetro de consulta
- El cliente muestra un campo para que el usuario pueda rellenar el código de verificación.
- El usuario introduce el código de verificación recibido.
- El cliente envía la solicitud
Complete auth by phone number POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - Parámetros del cuerpo:
code— código de confirmación.phone_number— número de teléfono del usuario.operation_id— ID del código de confirmación.
- El parámetro de consulta
- Si es la primera autorización del usuario, el servidor de Xsolla Login envía un webhook a la Passwordless login URL. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario. - Si la autenticación del usuario no es exitosa, puedes proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, pasa el objeto
errorcon los siguientes detalles:- En el parámetro
code, especifica un código de error, por ejemplo011-002. - En el parámetro
description, proporciona el texto del mensaje de error.
- En el parámetro
Ejemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "login": "+12025550140",
7 "type": "phone"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_phone_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"login":"+12025550140","type":"phone"}'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
U->>YC: Introduce el número de teléfono
YC->>XL: Envía una solicitud para iniciar la autenticación mediante el número de teléfono
XL-->>U: Envía un SMS con el código de confirmación
U->>YC: Introduce el código de confirmación
YC->>XL: Envía una solicitud para completar la autenticación mediante el número de teléfono
XL->>YS: Envía un webhook
alt Autenticación realizada correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve un código de autorización
YC->>XL: Envía una solicitud para generar el JWT del usuario
XL-->>YC: Devuelve el JWT del usuario y el token de actualización
YC-->>U: Completa la autenticación
else Autenticación fallida
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de autenticación
YC-->>U: Muestra un mensaje de error
end
- El cliente abre un formulario de autenticación para que el usuario pueda introducir su número de teléfono.
- El usuario introduce su número de teléfono.
- El cliente envía la solicitud
Start auth by phone number POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- Parámetros de consulta:
response_type: tipo de concesión JWT, transmitir el valorcode.client_id: ID de cliente OAuth 2.0.state: valor que se utiliza para la autenticación adicional del usuario. Obligatorio para prevenir los ataques de CSRF. Se devuelve en la respuesta. Longitud permitida: de 1 a 8 caracteres.
- El parámetro del cuerpo
phone_number: número de teléfono del usuario.
- Parámetros de consulta:
- El cliente muestra un campo para que el usuario pueda rellenar el código de verificación.
- El usuario introduce el código de verificación recibido.
- El cliente envía la solicitud de
Complete auth by phone number POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
client_id: ID de cliente OAuth 2.0. - Parámetros del cuerpo:
code: código de confirmación.phone_number: número de teléfono del usuario.operation_id: ID de código de confirmación.
- El parámetro de consulta
- Si es la primera autorización del usuario, el servidor de Xsolla Login envía un webhook a URL de inicio de sesión sin contraseña. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario. - Si la autenticación del usuario no se supera, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error, por ejemplo,011-002. - En el parámetro de
description, facilite el texto del mensaje de error.
- En el parámetro de
Ejemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "login": "+12025550140",
7 "type": "phone"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_phone_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"login":"+12025550140","type":"phone"}'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
Autenticación sin contraseña con correo electrónico
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
U->>YC: Introduce el correo electrónico
YC->>XL: Envía una solicitud para iniciar la autenticación por correo electrónico
XL-->>U: Envía un correo electrónico con el código de confirmación
U->>YC: Introduce el código de confirmación
YC->>XL: Envía una solicitud para completar la autenticación por correo electrónico
XL->>YS: Envía un webhook
alt Autenticación realizada correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve el JWT del usuario
YC-->>U: Completa la autenticación
else Autenticación fallida
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de autenticación
YC-->>U: Muestra un mensaje de error
end
- El cliente abre un formulario de autenticación para que el usuario pueda introducir su dirección de correo electrónico.
- El usuario introduce su dirección de correo electrónico.
- El cliente envía la solicitud
Start auth by email POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de Login en Cuenta del editor. - El parámetro del cuerpo
email: dirección de correo electrónico del usuario.
- El parámetro de consulta
- El cliente muestra un campo para que el usuario pueda rellenar el código de verificación.
- El usuario introduce el código de verificación recibido.
- El cliente envía la solicitud de
Complete auth by email POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de Login en Cuenta del editor. - Parámetros del cuerpo:
code: código de confirmaciónemail: dirección de correo electrónico del usuariooperation_id: ID del código de confirmación
- El parámetro de consulta
- Si es la primera autorización del usuario, el servidor de Xsolla Login envía un webhook a URL de inicio de sesión sin contraseña. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario. - Si la autenticación del usuario no se supera, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error, por ejemplo,011-002. - En el parámetro de
descriptionfacilite el texto del mensaje de error.
- En el parámetro de
- El cliente abre un formulario de autenticación para que el usuario pueda introducir su dirección de correo electrónico.
- El usuario introduce su dirección de correo electrónico.
- El cliente envía la solicitud
Start auth by email POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de inicio de sesión en la cuenta para juegos en móviles. - El parámetro del cuerpo
email: dirección de correo electrónico del usuario.
- El parámetro de consulta
- El cliente muestra un campo para que el usuario pueda rellenar el código de verificación.
- El usuario introduce el código de verificación recibido.
- El cliente envía la solicitud de
Complete auth by email POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de inicio de sesión en la cuenta para juegos en móviles. - Parámetros del cuerpo:
code: código de confirmaciónemail: dirección de correo electrónico del usuariooperation_id: ID del código de confirmación
- El parámetro de consulta
- Si es la primera autorización del usuario, el servidor de Xsolla Login envía un webhook a URL de inicio de sesión sin contraseña. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario. - Si la autenticación del usuario no se supera, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error, por ejemplo,011-002. - En el parámetro de
descriptionfacilite el texto del mensaje de error.
- En el parámetro de
- El cliente abre un formulario de autenticación para que el usuario pueda introducir su dirección de correo electrónico.
- El usuario introduce su dirección de correo electrónico.
- El cliente envía la solicitud
Start auth by email POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - El parámetro del cuerpo
email— dirección de correo electrónico del usuario.
- El parámetro de consulta
- El cliente muestra un campo para que el usuario pueda rellenar el código de verificación.
- El usuario introduce el código de verificación recibido.
- El cliente envía la solicitud
Complete auth by email POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - Parámetros del cuerpo:
code— código de confirmaciónemail— dirección de correo electrónico del usuariooperation_id— ID del código de confirmación
- El parámetro de consulta
- Si es la primera autorización del usuario, el servidor de Xsolla Login envía un webhook a la Passwordless login URL. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario. - Si la autenticación del usuario no es exitosa, puedes proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, pasa el objeto
errorcon los siguientes detalles:- En el parámetro
code, especifica un código de error, por ejemplo011-002. - En el parámetro
description, proporciona el texto del mensaje de error.
- En el parámetro
Ejemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_email_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email": "[email protected]",
7 "type": "email"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_email_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email": "[email protected]","type": "email"}'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
U->>YC: Introduce el correo electrónico
YC->>XL: Envía una solicitud para iniciar la autenticación por correo electrónico
XL-->>U: Envía un correo electrónico con el código de confirmación
U->>YC: Introduce el código de confirmación
YC->>XL: Envía una solicitud para completar la autenticación por correo electrónico
XL->>YS: Envía un webhook
alt Autenticación realizada correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve un código de autorización
YC->>XL: Envía una solicitud para generar el JWT del usuario
XL-->>YC: Devuelve el JWT del usuario y el token de actualización
YC-->>U: Completa la autenticación
else Autenticación fallida
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de autenticación
YC-->>U: Muestra un mensaje de error
end
- El cliente abre un formulario de autenticación para que el usuario pueda introducir su correo electrónico.
- El usuario introduce su correo electrónico.
- El cliente envía la solicitud
Start auth by email POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- Parámetros de consulta:
response_type: tipo de concesión JWT, transmitir el valorcode.client_id: ID de cliente OAuth 2.0.state: valor que se utiliza para la autenticación adicional del usuario. Obligatorio para prevenir ataques de CSRF. Se devuelve en la respuesta. Longitud permitida: de 1 a 8 caracteres.
- El parámetro del cuerpo
email: dirección de correo electrónico del usuario.
- Parámetros de consulta:
- El cliente muestra un campo para que el usuario pueda rellenar el código de verificación.
- El usuario introduce el código de verificación recibido.
- El cliente envía la solicitud de
Complete auth by email POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
client_id: ID de cliente OAuth 2.0. - Parámetros del cuerpo:
code: código de confirmación.email: correo electrónico del usuario.operation_id: ID de código de confirmación.
- El parámetro de consulta
- Si es la primera autorización del usuario, el servidor de Xsolla Login envía un webhook a URL de inicio de sesión sin contraseña. La respuesta debe tener el formato descrito en este flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario. - Si la autenticación del usuario no se supera, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error, por ejemplo,011-002. - En el parámetro de
description, facilite el texto del mensaje de error.
- En el parámetro de
Ejemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_email_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email": "[email protected]",
7 "type": "email"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_email_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email": "[email protected]","type": "email"}'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
Autenticación mediante redes sociales
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
participant SN as Red social
U->>YC: Selecciona una red social
YC->>XL: Envía una solicitud de autenticación mediante red social
XL->>SN: Redirige al usuario a la página de inicio de sesión de la red social
SN-->>XL: Devuelve los datos del usuario de la red social
XL->>YS: Envía un webhook
alt Autenticación realizada correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve el JWT del usuario
YC-->>U: Completa la autenticación
else Autenticación fallida
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de autenticación
YC-->>U: Muestra un mensaje de error
end
Para obtener los datos del usuario al autenticarse a través de redes sociales, especifique la URL de inicio de sesión mediante red social en la configuración de su proyecto de Login en Cuenta del editor (en User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de Login en Cuenta del editor. - El parámetro de ruta de
provider_name: nombre de la red social conectada a Login en Cuenta de editor. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- El parámetro de consulta
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía una solicitud a la URL de inicio de sesión mediante red social. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Para obtener los datos del usuario al autenticarse mediante redes sociales, especifique la Social Login URL en la configuración de su proyecto de Login en la cuenta para juegos en móviles (en User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de inicio de sesión en la cuenta para juegos en móviles. - El parámetro de ruta de
provider_name: nombre de la red social conectada a Login en la cuenta para juegos en móviles. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- El parámetro de consulta
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía una solicitud a la URL de inicio de sesión mediante red social. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Para obtener los datos del usuario al autenticarse a través de redes sociales, especifica la URL de inicio de sesión mediante red social en la configuración de tu proyecto de Login en la cuenta (en la sección User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - El parámetro de ruta
provider_name— nombre de la red social conectada a Login en tu cuenta. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- El parámetro de consulta
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía un webhook a la Social Login URL. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Para obtener los datos del usuario al autenticarse a través de redes sociales, especifica la URL de inicio de sesión mediante red social en la configuración de tu proyecto de Login en la cuenta (en la sección User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - El parámetro de ruta
provider_name— nombre de la red social conectada a Login en tu cuenta. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- El parámetro de consulta
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía un webhook a la Social Login URL. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Para obtener los datos del usuario al autenticarse a través de redes sociales, especifica la URL de inicio de sesión mediante red social en la configuración de tu proyecto de Login en la cuenta (en la sección User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - El parámetro de ruta
provider_name— nombre de la red social conectada a Login en tu cuenta. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- El parámetro de consulta
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía un webhook a la Social Login URL. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Los datos del usuario se transmiten en el encabezado Authorization como un token de puerta de enlace temporal (un token de servidor con “request_type”: “gateway_token”).
Campos principales del token de puerta de enlace:
| 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. Obligatorio. |
| iat | Marca de tiempo Unix | La fecha y la hora en que se emitió el JWT. Obligatorio. |
| iss | string | El servicio que firmó el JWT: https://login.xsolla.com. Obligatorio. |
| request_type | string | Constante: gateway_request. Obligatorio. |
| xsolla_login_project_id | string (cadena) (UUID) | Su ID de proyecto de Login en Cuenta del editor. Obligatorio. |
| string | Dirección de correo electrónico del usuario. | |
| sub | string (cadena) (UUID) | ID de usuario escrito en el lado del servidor de Xsolla Login. Obligatorio. |
| username | string | Nombre de usuario. |
| provider | string | Nombre de la red social utilizada para la autenticación. Obligatorio. |
| id | string | ID de usuario en una red social. Obligatorio. |
| social_access_token | string | 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]. |
| partner_data | string | Datos de cualquier tipo devueltos por su servidor en el cuerpo de la respuesta durante la autenticación. 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]. |
| 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. Obligatorio. |
| iat | Marca de tiempo Unix | La fecha y la hora en que se emitió el JWT. Obligatorio. |
| iss | string | El servicio que firmó el JWT: https://login.xsolla.com. Obligatorio. |
| request_type | string | Constante: gateway_request. Obligatorio. |
| xsolla_login_project_id | string (cadena) (UUID) | Tu ID de proyecto de Login en la cuenta. Obligatorio. |
| string | Dirección de correo electrónico del usuario. | |
| sub | string (cadena) (UUID) | ID de usuario escrito en el lado del servidor de Xsolla Login. Obligatorio. |
| username | string | Nombre de usuario. |
| provider | string | Nombre de la red social utilizada para la autenticación. Obligatorio. |
| id | string | ID de usuario en una red social. Obligatorio. |
| social_access_token | string | 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]. |
| partner_data | string | Datos de cualquier tipo devueltos por su servidor en el cuerpo de la respuesta durante la autenticación. 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]. |
Ejemplo de carga útil de un token:
- 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 "sub": "00000000-0000-0000-0000-000000000000",
8 "email": "[email protected]",
9 "username": "Smith707",
10 "provider": "google",
11 "id": "123",
12}
Ejemplo de webhook de URL de inicio de sesión mediante red social:
http
- http
- curl
1POST https://your.hostname/your_social_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
1curl --request POST \
2 --url 'https://your.hostname/your_social_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
- Si la autenticación del usuario no se realiza adecuadamente, puede facilitar un mensaje de error que se mostrará en el widget de autenticación. Para hacerlo, en la respuesta a la solicitud de creación de un usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error; por ejemplo,011-002. - En el parámetro de
description, facilite el texto del mensaje de error.
- En el parámetro de
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
participant SN as Red social
U->>YC: Selecciona una red social
YC->>XL: Envía una solicitud de autenticación mediante red social
XL->>SN: Redirige al usuario a la página de inicio de sesión de la red social
SN-->>XL: Devuelve los datos del usuario de la red social
XL->>YS: Envía un webhook
alt Autenticación realizada correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve un código de autorización
YC->>XL: Envía una solicitud para generar el JWT del usuario
XL-->>YC: Devuelve el JWT del usuario y el token de actualización
YC-->>U: Completa la autenticación
else Autenticación fallida
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de autenticación
YC-->>U: Muestra un mensaje de error
end
Para obtener los datos del usuario al autenticarse a través de redes sociales, especifique la URL de inicio de sesión mediante red social en la configuración de su proyecto de Login en Cuenta del editor (en User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- Parámetros de consulta:
response_type: tipo de concesión JWT, transmitir el valorcode.client_id: ID de cliente OAuth 2.0.state: valor que se utiliza para la autenticación adicional del usuario. Obligatorio para prevenir ataques de CSRF. Se devuelve en la respuesta. Longitud permitida: de 1 a 8 caracteres.
- El parámetro de ruta de
provider_name: nombre de la red social conectada a Login en Cuenta de editor. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- Parámetros de consulta:
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía una solicitud a la URL de inicio de sesión mediante red social. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Para obtener los datos del usuario al autenticarse mediante redes sociales, especifique la Social Login URL en la configuración de su proyecto de Login en la cuenta para juegos en móviles (en User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- Parámetros de consulta:
response_type: tipo de concesión JWT, transmitir el valorcode.client_id: ID de cliente OAuth 2.0.state: valor que se utiliza para la autenticación adicional del usuario. Obligatorio para prevenir ataques de CSRF. Se devuelve en la respuesta. Longitud permitida: de 1 a 8 caracteres.
- El parámetro de ruta de
provider_name: nombre de la red social conectada a Login en la cuenta para juegos en móviles. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- Parámetros de consulta:
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía una solicitud a la URL de inicio de sesión mediante red social. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Para obtener los datos del usuario al autenticarse a través de redes sociales, especifica la URL de inicio de sesión mediante red social en la configuración de tu proyecto de Login en la cuenta (en la sección User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - El parámetro de ruta
provider_name— nombre de la red social conectada a Login en tu cuenta. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- El parámetro de consulta
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía un webhook a la Social Login URL. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Para obtener los datos del usuario al autenticarse a través de redes sociales, especifica la URL de inicio de sesión mediante red social en la configuración de tu proyecto de Login en la cuenta (en la sección User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - El parámetro de ruta
provider_name— nombre de la red social conectada a Login en tu cuenta. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- El parámetro de consulta
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía un webhook a la Social Login URL. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Para obtener los datos del usuario al autenticarse a través de redes sociales, especifica la URL de inicio de sesión mediante red social en la configuración de tu proyecto de Login en la cuenta (en la sección User database > Storage > Custom storage). A esta URL se envía una solicitud con los datos recibidos de la red social.
Flujo de autenticación:
- El cliente envía la solicitud
Auth via social network POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en tu cuenta. - El parámetro de ruta
provider_name— nombre de la red social conectada a Login en tu cuenta. Puede ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- El parámetro de consulta
- El usuario inicia sesión en una red social.
- El servidor de Xsolla Login procesa los datos del usuario recibidos de la red social y envía un webhook a la Social Login URL. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, puedes especificar una lista de atributos de usuario y/o cualquier objeto JSON necesario. El objeto JSON que proporciones en la respuesta se registra en el campo
partner_datadel JWT del usuario.
Los datos del usuario se transmiten en el encabezado Authorization como un token de puerta de enlace temporal (un token de servidor con “request_type”: “gateway_token”).
Campos principales del token de puerta de enlace:
| 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. Obligatorio. |
| iat | Marca de tiempo Unix | La fecha y la hora en que se emitió el JWT. Obligatorio. |
| iss | string | El servicio que firmó el JWT: https://login.xsolla.com. Obligatorio. |
| request_type | string | Constante: gateway_request. Obligatorio. |
| xsolla_login_project_id | string (cadena) (UUID) | Su ID de proyecto de Login en Cuenta del editor. Obligatorio. |
| string | Dirección de correo electrónico del usuario. | |
| sub | string (cadena) (UUID) | ID de usuario escrito en el lado del servidor de Xsolla Login. Obligatorio. |
| username | string | Nombre de usuario. |
| provider | string | Nombre de la red social utilizada para la autenticación. Obligatorio. |
| id | string | ID de usuario en una red social. Obligatorio. |
| social_access_token | string | 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]. |
| partner_data | string | Datos de cualquier tipo devueltos por su servidor en el cuerpo de la respuesta durante la autenticación. 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]. |
| 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. Obligatorio. |
| iat | Marca de tiempo Unix | La fecha y la hora en que se emitió el JWT. Obligatorio. |
| iss | string | El servicio que firmó el JWT: https://login.xsolla.com. Obligatorio. |
| request_type | string | Constante: gateway_request. Obligatorio. |
| xsolla_login_project_id | string (cadena) (UUID) | Tu ID de proyecto de Login en la cuenta. Obligatorio. |
| string | Dirección de correo electrónico del usuario. | |
| sub | string (cadena) (UUID) | ID de usuario escrito en el lado del servidor de Xsolla Login. Obligatorio. |
| username | string | Nombre de usuario. |
| provider | string | Nombre de la red social utilizada para la autenticación. Obligatorio. |
| id | string | ID de usuario en una red social. Obligatorio. |
| social_access_token | string | 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]. |
| partner_data | string | Datos de cualquier tipo devueltos por su servidor en el cuerpo de la respuesta durante la autenticación. 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]. |
Ejemplo de carga útil de un token:
- 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 "sub": "00000000-0000-0000-0000-000000000000",
8 "email": "[email protected]",
9 "username": "Smith707",
10 "provider": "google",
11 "id": "123",
12}
Ejemplo de webhook de URL de inicio de sesión mediante red social:
http
- http
- curl
1POST https://your.hostname/your_social_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
1curl --request POST \
2 --url 'https://your.hostname/your_social_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json'
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
- Si la autenticación del usuario no se realiza adecuadamente, puede facilitar un mensaje de error que se mostrará en el widget de autenticación. Para hacerlo, en la respuesta a la solicitud de creación de un usuario, transmita el objeto
errorcon los siguientes detalles:- En el parámetro de
code, especifique un código de error; por ejemplo,011-002. - En el parámetro de
description, facilite el texto del mensaje de error.
- En el parámetro de
Restablecimiento de contraseña de usuario
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant U as Usuario
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
U->>YC: Selecciona el botón de restablecimiento de contraseña
YC->>XL: Envía la solicitud de restablecimiento de contraseña
XL-->>U: Envía un correo electrónico de confirmación del restablecimiento de contraseña
U->>XL: Selecciona el enlace de restablecimiento de contraseña
XL-->>YC: Muestra la página de nueva contraseña
U->>YC: Introduce la nueva contraseña
YC->>XL: Envía la solicitud de confirmación del restablecimiento de contraseña
XL->>YS: Envía un webhook
alt Restablecimiento de contraseña realizado correctamente
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
XL-->>U: Confirma el restablecimiento de contraseña
else Restablecimiento de contraseña fallido
YS-->>XL: Devuelve un error
XL-->>YC: Devuelve un error de restablecimiento de contraseña
YC-->>U: Muestra un mensaje de error
end
- El cliente envía la solicitud
Reset password POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de Login en Cuenta del editor. - Los parámetros del cuerpo de
username: nombre de usuario. Longitud permitida: de 3 ta 255 caracteres.
- El parámetro de consulta
- El servidor de Xsolla Login envía al usuario un correo electrónico de confirmación de restablecimiento de contraseña.
- Tras confirmar el restablecimiento de contraseña en el correo electrónico, al usuario se le redirige a la página donde puede introducir una nueva contraseña.
- El usuario introduce una nueva contraseña.
- El servidor de Xsolla Login envía una solicitud a la URL de restablecimiento de contraseña.
- Si el restablecimiento de la contraseña no se realiza correctamente, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación de un usuario, transmita el objeto con los siguientes detalles:
- En el parámetro
code, especifique un código de error; por ejemplo,011-002. - En el parámetro
descriptionproporcione el texto del mensaje de error.
- En el parámetro
- El cliente envía la solicitud
Reset password POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId: ID del proyecto de Login en la cuenta para juegos en móviles. - El parámetro de cuerpo
username: nombre de usuario. Longitud permitida: de 3 a 255 caracteres.
- El parámetro de consulta
- El servidor de Xsolla Login envía al usuario un correo electrónico para confirmar el restablecimiento de la contraseña.
- Tras confirmar el restablecimiento de contraseña en el correo electrónico, se redirige al usuario a la página donde puede introducir una contraseña nueva.
- El usuario introduce una nueva contraseña.
- El servidor de Xsolla Login envía un webhook a la Password reset URL.
- Si el restablecimiento de la contraseña no se realiza correctamente, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación de un usuario, transmita el objeto
errorcon los siguientes datos:- En el parámetro
code, especifique un código de error; por ejemplo,011-002. - En el parámetro
description, proporcione el texto del mensaje de error.
- En el parámetro
- El cliente envía la solicitud
Reset password POSTal servidor de Xsolla Login. La solicitud debe incluir los siguientes parámetros obligatorios:- El parámetro de consulta
projectId— ID del proyecto de Login en su cuenta. - El parámetro del cuerpo
username— nombre de usuario. Longitud permitida: de 3 a 255 caracteres.
- El parámetro de consulta
- El servidor de Xsolla Login envía al usuario un correo electrónico de confirmación de restablecimiento de contraseña.
- Tras confirmar el restablecimiento de contraseña en el correo electrónico, el usuario es redirigido a la página donde puede introducir una nueva contraseña.
- El usuario introduce una nueva contraseña.
- El servidor de Xsolla Login envía un webhook a la Password reset URL.
- Si el restablecimiento de la contraseña no es exitoso, puede proporcionar un mensaje de error que se mostrará en el widget de autenticación. Para ello, en la respuesta a la solicitud de creación del usuario, pase el objeto
errorcon los siguientes detalles:- En el parámetro
code, especifique un código de error, por ejemplo011-002. - En el parámetro
description, proporcione el texto del mensaje de error.
- En el parámetro
http
- http
- curl
1POST https://your.hostname/your_reset_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "username": "[email protected]",
7 "fields": {
8 "password": "NewPa$$word1"
9 }
10}
1curl --request POST \
2 --url 'https://your.hostname/your_reset_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"[email protected]","fields":{"password":"NewPa$$word1"}}'
Token de actualización
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent', 'labelBoxBkgColor': 'transparent', 'labelBoxBorderColor': '#8ADCEC', 'altSectionBkgColor': 'transparent' }, 'sequence': {'noteMargin': 50}}}%%
sequenceDiagram
participant YC as Su cliente
participant XL as Servidor de Xsolla Login
participant YS as Su servidor
YC->>XL: Envía una solicitud para actualizar el token
XL->>YS: Envía un webhook
YS-->>XL: Devuelve un código HTTP 2xx y un cuerpo opcional
opt El cuerpo de la respuesta contiene los datos del usuario
activate XL
note right of XL: Guarda los atributos y añade información a los datos del usuario
deactivate XL
end
XL-->>YC: Devuelve un JWT y un token de actualización nuevos
- Cuando caduca el token de acceso, el cliente envía el punto final de la solicitud Generar JWT
POSTal servidor de Xsolla Login. El cuerpo de la solicitud debe incluir los siguientes parámetros:grant_type: tipo de concesión JWT, transmitir el valorrefresh_token.client_id: ID de cliente OAuth 2.0.refresh_token: token de actualización recibido en respuesta a la solicitud de autorización de usuario.
- El servidor de Xsolla Login procesa los datos de usuario recibidos de la red social y envía un webhook a URL de token de actualización. La respuesta debe tener el formato descrito en el flujo de interacción. En la respuesta, se puede especificar una lista de atributos de usuario o cualquier objeto JSON necesario. El objeto JSON que proporcione en la respuesta se registra en el campo
partner_datadel JWT del usuario.
- http
1POST https://your.hostname/your_refrsh_token_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
Ejemplo de respuesta a un webhook con atributos de usuario:
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Ejemplo de respuesta a un webhook con un objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
Seguir leyendo
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.