Inicio de sesión único
Cómo funciona
Si tiene varios servicios conectados con una sola cuenta común para la autenticación de usuarios, puede utilizar Inicio de sesión único. El sitio web del juego funciona como un servicio. Permitirá al usuario introducir sus credenciales una sola vez. Después, al abrir uno de los servicios conectados, el usuario ya estará autenticado.
Flujo de interacción
- Un usuario no autenticado abre uno de los servicios.
- Su cliente envía la solicitud
Check user authentication al servidor de Xsolla Login y recibe el error 401. - Su cliente abre el formulario de autenticación (widget de Login o su interfaz de inicio de sesión) para el usuario.
- El usuario se autentica a través de un nombre de usuario y contraseña o a través de una red social.
- Su cliente autentica al usuario en su proyecto de Login:
- Las siguientes solicitudes se utilizan cuando se integra Login a través de llamadas API:
- El protocolo OAuth 2.0 se utiliza al integrar Login a través del widget.
login_uri
que contieneredirect_uri
concode
en el parámetro de consulta.
- Su cliente redirige al usuario a
redirect_uri
. - Su servidor envía la solicitud
Generate JWT para cambiar elcode
recibido por un JWT. El usuario se autentica en el servicio. - El usuario abre otro servicio.
- Su cliente envía la solicitud
Check user authentication al servidor de Xsolla Login y recibelogin_uri
que contieneredirect_uri
concode
en el parámetro de consulta. - Su servidor envía la solicitud
Generate JWT para cambiar lacode
recibido por un JWT. El usuario se autentica en el segundo servicio.
Diferenciar los derechos de acceso a los distintos servicios
Para diferenciar los derechos de acceso de cuentas de usuario para los distintos servicios, puede utilizar valores especiales del parámetroscope=playfab
) en distintos clientes de OAuth 2.0.¿Quién puede utilizarlo?
Socios que ya han integrado Login y utilizan las base de datos de Xsolla, Firebase o PlayFab.
Cómo conseguirlo
Para conectar el Inicio de sesión único (Single Sign-on):
- Conecte el protocolo OAuth 2.0.
- Implemente la devolución de llamada de solicitud de obtención de sesión de usuario.
Conectar el protocolo OAuth 2.0
Siga las instrucciones para conectar el protocolo OAuth 2.0. Puede utilizar un cliente de OAuth 2.0 para todos los servicios o crear un cliente de OAuth 2.0 independiente para cada servicio.Solicitud de llamada para la obtención de sesión de usuario
Implemente la devolución de llamada de solicitud
Ejemplo de solicitud:
http
- http
- curl
GET https://login.xsolla.com/api/oauth2/sso?client_id=<client_id>&redirect_uri=<redirect_uri>&scope=<scope>&state=<state>&response_type=code HTTP/1.1
curl --request GET \
--url 'https://login.xsolla.com/api/oauth2/sso?redirect_uri=redirect_uri&response_type=code&state=state&scope=scope&client_id=client_id'
Ejemplo de respuesta cuando el usuario está autenticado:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"login_url": "<redirect_uri>?code=<code>"
}
Para obtener un JWT de usuario:
- Su cliente implementa y utiliza la solicitud que redirige al usuario a la
redirect_uri
recibida. - Su servidor envía la solicitud
Generate JWT con loscode
ygrant_type=authorization_code
recibidos para obtener un JWT.
Ejemplo de respuesta cuando el usuario no está autenticado:
- http
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"error": {
"code": "003-040",
"description": "User is unauthorized."
}
}
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.