Firebase Storage
Si utiliza el almacenamiento de Firebase, tendrá acceso a:
- registro de usuario
- autenticación mediante dirección de correo electrónico y contraseña de usuario
- autenticación mediante red social
- bloqueo de usuarios
Flujo de interacción
Puede utilizar el widget de Login o su aplicación 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 los puntos finales JWT, OAuth 2.0 y Password.
- El servidor de Xsolla Login envía solicitudes a Firebase.
- El servidor de Xsolla Login procesa una respuesta de Firebase y devuelve los resultados al cliente.
- El cliente procesa la respuesta.
Flujo de registro de usuarios
- El cliente envía la solicitud
Register new user al servidor de Xsolla Login. - El servidor de Xsolla Login envía una solicitud de registro a Firebase.
- Los datos del usuario se escriben en la base de datos de Xsolla.
- Se comprueba el estado de la dirección de correo electrónico del usuario:
- Si el usuario no ha verificado previamente su dirección de correo electrónico en Firebase, recibe un correo de confirmación de ese sistema. En cuanto el usuario confirma su dirección de correo electrónico, esta se confirma automáticamente en el servidor de Xsolla Login.
- Si la dirección de correo electrónico del usuario ha sido verificada en Firebase, inmediatamente después del registro, el usuario será autorizado y redirigido a la página de Callback URL especificada al crear el proyecto de Login.
Autenticación mediante dirección de correo electrónico y contraseña del usuario
Existen dos tipos de autenticación mediante dirección de correo electrónico y contraseña del usuario: autenticación basada en el estándar JWT y autenticación basada en el protocolo OAuth 2.0.
- Si no hay ninguna entrada para el usuario en la base de datos de Xsolla, se crea una.
- El servidor de Xsolla Login solicita los siguientes datos del usuario a Firebase y los actualiza en la base de datos de Xsolla: estado de confirmación del correo electrónico, también avatar y nombre para mostrar (si lo hay).
Flujo de autenticación basado en el estándar JWT
- El cliente envía la solicitud Auth by username and password al servidor de Xsolla Login.
- El servidor de Xsolla Login envía la solicitud de autenticación a Firebase.
- El servidor de Xsolla Login genera un JWT de usuario, mientras que:
- El valor Firebase de la respuesta a la solicitud de Firebase está escrito en la notificación
external_account_id
. - El valor Firebase ID token de la respuesta a la solicitud de Firebase se escribe en la notificación
firebase_id_token
. - El valor Firebase refresh token de la respuesta a la solicitud de Firebase está escrito en la notificación
firebase_refresh_token
.
- El valor Firebase de la respuesta a la solicitud de Firebase está escrito en la notificación
- .Al usuario se le redirige a
login_url
con un parámetro de consultatoken
. El JWT de usuario está escrito en el parámetrotoken
.
Flujo de autenticación basado en el protocolo OAuth 2.0
- El cliente envía la solicitud Auth by username and password con el parámetro
redirect_uri
al servidor de Xsolla Login. - El servidor de Xsolla Login envía la solicitud de autenticación a Firebase.
- El servidor de Xsolla Login devuelve
login_url
junto concode
en el parámetro de consulta y el parámetroredirect_uri
transmitido. - El usuario es redirigido a
redirect_uri
con el parámetro de consultacode
. - El cliente envía la solicitud Generate JWT al servidor de Xsolla Login para cambiar el
code
recibido por un JWT de usuario. - El servidor de Xsolla Login genera un JWT de usuario, mientras que:
- El valor localId de la respuesta a la solicitud de Firebase se escribe en la solicitud
external_account_id
. - El valor Firebase ID token de la respuesta a la solicitud de Firebase se escribe en la notificación
firebase_id_token
. - El valor Firebase refresh token de la respuesta a la solicitud de Firebase se escribe en la notificación
firebase_refresh_token
.
- El valor localId de la respuesta a la solicitud de Firebase se escribe en la solicitud
Autenticación mediante redes sociales
Solo se admite la autenticación a través de Google y Facebook. Hay dos escenarios de autenticación disponibles: Autenticación basada en el estándar JWT y Autenticación basada en el protocolo OAuth 2.0.
Flujo de autenticación basado en el estándar JWT
- El usuario inicia la autorización haciendo clic en el botón del widget o a través del método Login API.
- El usuario es redirigido a la página de inicio de sesión de la red social donde introduce sus credenciales.
- La red social devuelve información sobre el usuario junto con su token de acceso al servidor de Xsolla Login.
- El servidor de Xsolla Login envía una solicitud de autenticación a Firebase con este token a través del método Sign in with OAuth credential.
- El servidor de Xsolla Login genera un usuario de JWT, mientras que:
- El valor localId de la respuesta a la solicitud de Firebase se escribe en la notificación
external_account_id
. - El valor Firebase ID token de la respuesta a la solicitud de Firebase se escribe en la notificación
firebase_id_token
. - El valor Firebase refresh token de la respuesta a la solicitud de Firebase se escribe en la notificación
firebase_refresh_token
.
- El valor localId de la respuesta a la solicitud de Firebase se escribe en la notificación
- El usuario es redirigido a
login_url
con un parámetro de consultatoken
. El JWT del usuario se escribe en el parámetrotoken
.
Flujo de autenticación basado en el protocolo OAuth 2.0
- El usuario inicia la autorización haciendo clic en el botón del widget o a través del método Login API.
- El usuario es redirigido a la página de inicio de sesión de la red social donde introduce sus credenciales.
- La red social devuelve información sobre el usuario junto con su token de acceso al servidor de Xsolla Login.
- El servidor de Xsolla Login envía una solicitud de autenticación a Firebase con este token a través del método Sign in with OAuth credential.
- El servidor de Xsolla Login devuelve
login_url
junto concode
en el parámetro de consulta y el parámetroredirect_uri
transmitido. - El usuario es redirigido a
redirect_uri
con el parámetro de consultacode
. - El cliente envía la petición Generate JWT al servidor de Xsolla Login para cambiar el
code
recibido por un JWT de usuario. - El servidor de Xsolla Login genera el JWT de usuario, mientras que:
- El valor localId de la respuesta a la solicitud de Firebase se escribe en la solicitud
external_account_id
. - El valor Firebase ID token de la respuesta a la solicitud de Firebase se escribe en la solicitud
firebase_id_token
. - El valor Firebase refresh token de la respuesta a la solicitud de Firebase se escribe en la solicitud
firebase_refresh_token
.
- El valor localId de la respuesta a la solicitud de Firebase se escribe en la solicitud
Bloqueo de usuarios
Puede bloquear usuarios a través de Cuenta del editor. Los usuarios bloqueados no pueden autenticarse. El bloqueo se registrará y guardará solo en el lado de Xsolla.
Seguir leyendo
Enlaces útiles
Cómo conectar el almacenamiento de Firebase¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.