https://login.xsolla.com/api
Esta sección describe las llamadas API para trabajar con Login. Establezca su proyecto de Login en Cuenta del editor antes de enviar solicitudes.
The full list of IP addresses that login.xsolla.com may use:
Puede acceder a los siguientes tipos de proyectos de Login en Cuenta del editor:
Para obtener más información al respecto, consulte el artículo Cuenta multiplataforma.
Son las restricciones aplicadas por la API de Xsolla a la frecuencia de acceso por parte de un usuario en un plazo definido.
Es un proyecto de Login que se utiliza para almacenar las cuentas principales.
Es un proyecto de Login que se utiliza para almacenar las cuentas de plataforma.
Es un tipo de cuenta que se crea en un proyecto de Login estándar y se vincula a cuentas de plataforma. La cuenta principal se utiliza para identificar al jugador en las diferentes plataformas.
Es un tipo de cuenta que se crea en un proyecto de Login concurrente y se conecta a una plataforma de publicación definida. La cuenta de plataforma no puede vincularse a otra cuenta de plataforma. Tampoco puede desvincularse de una cuenta principal.
Es una plataforma de juegos que se utiliza para la distribución de juegos (p. ej., Steam, PlayStation, Xbox, etc.).
Login API admite los siguientes tipos de token:
Puede determinar si una llamada API es del lado del cliente o del lado del servidor por el esquema de autenticación:
Authorization
header: Bearer <user_JWT>
header,
where <user_JWT>
— is the user token.X-SERVER-AUTHORIZATION: <server_JWT>
, where
<server_JWT>
— is the server token.Para obtener el token, envíe una de las siguientes solicitudes:
Tras la autenticación mediante JWT, el usuario es redirigido a la URL de
devolución de llamada con un token en un parámetro de consulta: <Callback URL>?token=<User token (JWT)>
.
Tras la aunticación basada en el protocolo OAuth 2.0, envíe la solicitud
Generate JWT
al servidor de Xsolla Login para cambiar el parámetro code
recibido por un
token de usuario (access_token
).
Para obtener un token de servidor:
En el back-end de su aplicación, implemente un método para obtener el JWT de servidor utilizando la llamada Generate JWT API. La solicitud debe contener los siguientes parámetros:
grant_type
es el tipo de obtención del JWT, transmita el valor
client_credentials
.client_secret
es la clave secreta que se recibe cuando establece el cliente
de OAuth 2.0 del servidor.client_id
es el ID de cliente recibido al establecer el cliente OAuth 2.0 del
servidor.Para evitar sobrecargas del sistema de Xsolla y protegerlo de ráfagas
repentinas de tráfico entrante, Xsolla limita el número de solicitudes
recibidas por la API de Xsolla durante un periodo especificado. Si se excede el
límite, la API de Xsolla devuelve una respuesta HTTP con el código de estado
429
.
Rate limits vary by method, IP-address, authentication scheme, and other factors.
Rate limits for server-side methods are applied to methods with server-side
authentication — methods that are called with the X-SERVER-AUTHORIZATION:
<server_JWT>
header, where <server_JWT>
is the server
token.
Rate limits for client-side methods are applied to methods without
authentication or with client-side authentication — methods that are called
with the Authorization: Bearer <user_JWT>
header, where
<user_JWT>
is the user token.
Example of a method with server-side authentication: Example of a method with client-side authentication:
Los límites de frecuencia para los métodos del lado del cliente no cambian y son necesarios para impedir ataques de fuerza bruta. La frecuencia máxima de solicitudes para los métodos del lado del servidor es mayor que para los métodos del lado del cliente. Puede consultar las recomendaciones sobre cómo gestionar los límites de frecuencia en la documentación.
Cada token tiene un formato de JWT y contiene una información precisa en una carga útil.
El JWT de usuario es un token recibido como resultado de una autenticación o registro. La carga útil de un token contiene información sobre el usuario y la llamada de autenticación.
Obtener un token de usuario mediante el protocolo OAuth 2.0 requiere un cliente
de OAuth 2.0. El token de usuario se transmite en el encabezado Authorization: Bearer <JWT>
.
Un token contendrá las notificaciones principales tras la autenticación o la confirmación de la dirección de correo electrónico. La presencia de estas notificaciones no depende de la base de datos de usuarios ni de la llamada de autenticación.
Notificación | Tipo | Obligatoria | Descripción |
exp |
Marca de tiempo de Unix | Sí | Fecha y hora de expiración del token. El tiempo de expiración por defecto es de 24 horas. Puede cambiar el tiempo de expiración para cada proyecto de Login. |
iss |
string | Sí | Servicio que firmó el token: https://login.xsolla.com . |
iat |
Marca de tiempo de Unix | Sí | Fecha y hora de entrega del token. |
sub |
string (cadena) (UUID) | Sí | ID de usuario escrito en el lado del servidor de Xsolla Login. |
groups |
matriz | Sí |
La lista de grupos a los que pertenece el usuario. Cada grupo se escribe con el siguiente formato:
Solo puede haber un grupo por defecto. Este grupo incluye inicialmente a todos los usuarios antes de que se distribuyan en diferentes grupos. |
xsolla_login_project_id |
string (cadena) (UUID) | Sí | ID del proyecto de Login. |
type |
string |
Opciones de autenticación:
Solo puede haber un grupo por defecto. Este grupo incluye inicialmente a todos los usuarios antes de que se distribuyan en diferentes grupos. |
|
avatar |
string | URL del avatar del usuario. | |
username |
string | Nombre de usuario. | |
publisher_id |
integer | ID de un vendedor propietario de un proyecto de Login. | |
email |
string | Dirección de correo electrónico del usuario. | |
payload |
string | Información adicional que se transmite en el parámetro de carga útil durante la autenticación. | |
promo_email_agreement |
boolean |
Puede tener uno de los siguientes valores:
true por defecto.
Para añadir la función al formulario de registro del widget de Login :
|
|
connection_information |
string | Muestra si el usuario ha confirmado o no su fecha de nacimiento. La confirmación se realiza a través del servicio okname. |
Notificaciones contenidas en el token tras la autenticación si utiliza el almacenamiento de PlayFab.
Notificación | Tipo | Obligatoria | Descripción |
external_account_id |
string | Sí | ID de usuario de PlayFab. |
session_ticket |
string | Sí |
Un parámetro SessionTicket recibido durante una solicitud de autenticación o solicitudes a la PlayFab API. Un token contiene la notificación si autentica a los usuarios mediante el protocolo OAuth 2.0 y transmite el valor |
entity_token |
string | Sí | Un parámetro EntityToken.EntityToken. |
entity_type |
string | Sí | Un parámetro EntityToken.Entity.Type. Solo puede tener el valor title_player_account . |
entity_id |
string | Sí | Un parámetro EntityToken.Entity.Id. |
Notificaciones contenidas en el token tras la autenticación si utiliza el almacenamiento personalizado.
Notificación | Tipo | Obligatoria | Descripción |
provider |
string | Sí | Nombre de la red social utilizada para la autenticación. Si el usuario se autentica mediante nombre de usuario y contraseña, la notificación tiene el valor xsolla . |
external_account_id |
string | ID de usuario en el lado de su servidor. | |
partner_data |
Data of any type returned by your server in the response body during authentication. To enable the transmission of this claim, contact your Customer Success Manager or email to csm@xsolla.com | ||
social_access_token |
Access token of the social network through which the user was authenticated. To enable the transmission of this claim, contact your Customer Success Manager or email to csm@xsolla.com. |
Notificaciones contenidas en el token tras la autenticación OAuth 2.0.
Notificación | Tipo | Obligatoria | Descripción |
jti |
string | Sí | ID de token único. |
Notificación que contiene el token tras la autenticación mediante un número de teléfono.
Notificación | Tipo | Obligatoria | Descripción |
phone_number |
string | Sí | Número de teléfono del usuario utilizado para la autenticación. El formato del número de teléfono se basa en el código de país, el distintivo de zona y el número de línea sin separadores. |
El token del servidor se transmite en el encabezado X-SERVER-AUTHORIZATION
.
La carga útil del token contiene información sobre los recursos que posee el cliente de OAuth 2.0. El token tiene acceso a llamadas con autenticación basada en servidor para estos recursos.
Notificación | Tipo | Obligatoria | Descripción |
xsolla_login_project_id |
string (cadena) (UUID) | Sí | ID de un proyecto de Login que posee el cliente de OAuth 2.0. |
resources |
matriz | Sí |
Lista de recursos propiedad de un cliente de OAuth 2.0. Posibles tipos de recursos:
Cada grupo se escribe en el siguiente formato:
|
jti |
string | Sí | ID de token único. |
To validate the JWT, use the following Login API calls:
Aviso
No revele su clave secreta a nadie. Si se ha visto comprometida, cámbiela.
En caso de respuestas de error, el servidor Xsolla Login devuelve un objeto JSON con los siguientes campos:
Campo | Tipo | Descripción |
código | string | Código de error del servidor de Xsolla Login. |
descripción | string | Descripción del error. El texto está siempre en inglés. No utilice este texto en caso de error, ya que el valor puede cambiar en el futuro. |
{
"error": {
"code": "000-000",
"description": "description"
}
}
---------------------------------------------------------------------------:| |
002-016 | accountID
parameter in the response body. | | 008-009 |
Policies and Agreements). | | 008-014 |
Okta integration not completed. | Contact the integration team through any messenger. | | 008-015 |SAML integration not completed. | Contact the integration team through any messenger. | | 008-016 |Firebase API key not set. | Add the API key to the settings in your Publisher Account (section Legal Terms > Policies and Agreements). | | 010-004 |Service temporarily unavailable. Try again later. | The user should try again later. | | 010-005 |Allowable number of requests exceeded. Try again later. | The user should try again later. | | 010-006 |If this social profile is unlinked, no authentication methods will be available. | The user should add another authentication method before unlinking the social network. | | 010-007 |Incorrect CAPTCHA input. Try again. | The user should complete the CAPTCHA again. | | 010-010 |Invalid confirmation code. | The user should verify the code and try again. | | 010-014 |Your code is expired. Return to the login page and log in again. | The user should log in again from the login page. | | 010-015 |Something went wrong during authentication with this social network. Try again later. | The user should try again later. | | 010-016 |This social account is already linked to another user. | The user should use a different social account. If they believe this is an error, they should contact the integration team through any messenger. | | 010-017 |Client authentication failed. Some request parameters are missing in request or have invalid values. | Verify the correctness of the request parameters being sent. | | 010-019 |Client authentication failed. Client with this client_id value does not exist. | Ensure that a client with the providedclient_id
exists. | | 010-020 |Client authentication failed. Parameter scope is invalid or malformed. | Ensure that the providedscope
parameter is correct. Refer to the instructions for detailed setup information. | | 010-021 |Client authentication failed. Parameter response_type is invalid or malformed. You should pass value of code parameter to response_type. | Ensure that the value of theresponse_type
parameter is set to"code"
. | | 010-022 |Client authentication failed. Parameter state is missing or its value has less than 8 characters. | Ensure that the state parameter is present and consists of at least 8 characters. | | 010-023 |Client authentication failed. Authorization code, authorization grant types, or refresh token are invalid or expired. Also this error is returned when the redirect_uri given in authorization grant type does not match the URI provided in access token request. | Ensure that the authorization code is valid and not expired, and that theredirect_uri
parameter contains an authorized URL. Refer to the instructions for detailed setup information. | | 010-026 |The resource owner or authorization server denied the request. | Ensure that you have sufficient permissions to access the resource. | | 010-030 |Cross social network is not enabled for this Login. | Ensure that cross-authentication is enabled for the authorization option. Refer to the instructions for detailed setup information. | | 010-031 |Social provider already exists. | The error occurs when attempting to connect a social network that is already enabled. | | 010-032 |Social network is not enabled for this Login. You can enable it in your Xsolla Publisher Account > Login Project > Social connections. | Ensure that the social network is enabled and configured in the authorization option settings in your Publisher Account (section Authorization via Social Networks). | | 010-033 |This call is temporary unavailable. | The user should try again later. | | 010-035 |Dependency service is unavailable | The user should try again later. | | 010-045 |Account with this social provider email address already exists. | The user should use a different social account for registration. | | 030-024 |Password recovery is not allowed. | The user should contact the game support team. | | 040-001 |Email address must be 254 characters or shorter. | The user should enter an email address containing no more than 254 characters. | | 040-002 |Username of the email address is invalid. Try another email address. | The user should enter a valid email address. | | 040-003 |Local part of the email address is too long. | The user should enter a different email address. | | 040-004 |Email address domain is invalid. Try another email address. | The user should contact Xsolla support. | | 040-005 |Email address should contain one @ character only. (E.g., username@example.com) | The user should enter an email with only one@
character. | | 040-006, 040-007, 040-008 |Email address domain is invalid. Try another email address. | The user should contact Xsolla support. | | 040-009 |Email address domain doesn’t exist. Try another email address. | The user should enter an email with an existing domain. | | 040-010 |Email address domain is not allowed. Try another email address. | The user should contact Xsolla support. | | 010-018 |Email address is invalid. Try another email address. | The user should enter a different email address. | | 300-003 |Allowable number of requests exceeded. Try again later. | The user should try again later. | | 300-005 |Failed to resend code. Try again later. | The user should try again later. | | 300-006 |Incorrect confirmation code. Check the code that you received and try again. | The user should verify and re- enter the confirmation code. | | 300-008 |You've exceeded the maximum number of attempts. Use the new code sent to your email or phone. | The user should use the new code sent to their email or phone. | | 003-007 |User account not confirmed. | The user should confirm their email address to activate the account. If they haven't received a confirmation email, they should check the spam folder. | | 003-025 |Error occurred while getting OAuth 2.0 access token. | The user should try a different authentication method. | | 003-040 |Unauthorized user. | The user should log in again. | | 003-033 |Mismatch project type. | Ensure that shadow authentication is used for the authorization option. | | 2002-0001 |Duplicated attributes. | Make sure that the attribute being created has not been previously added to the user. |