Tengo una aplicación de chat donde un usuario no registrado puede enviar un mensaje a alguien que está registrado. El problema es que el uso de firebase.auth().signInAnonymously() generará uid y actuará como un usuario que inició sesión.

Mi preocupación es que cuando el usuario anónimo decide cerrar su navegador, la sesión entre los dos usuarios se perderá.

Sin solicitar mucha o ninguna información personal, ¿qué puedo utilizar para mantener la sesión entre un usuario registrado y no registrado?

0
Freddy. 27 ago. 2020 a las 10:40

2 respuestas

La mejor respuesta

Puede usar la persistencia de autenticación de Firebase, también funciona con el inicio de sesión anónimo.
Le sugiero que use el nivel de persistencia LOCAL, para que el uid del usuario anónimo permanezca igual al reiniciar el navegador, para que pueda mantener la sesión de chat:

const level = firebase.auth.Auth.Persistence.LOCAL;
await firebase.auth().setPersistence(level);

Consulte la documentación: https://firebase.google.com/ docs / reference / js / firebase.auth.Auth # persistence_1

0
Louis 27 ago. 2020 a las 09:04

Mi preocupación es que cuando el usuario anónimo decide cerrar su navegador, la sesión entre los dos usuarios se perderá.

Firebase almacena el estado de autenticación del usuario en el almacenamiento local del navegador de forma predeterminada y lo restaura desde allí cuando el usuario vuelve a visitar el sitio web. Por lo tanto, no está vinculado a su sesión de navegador actual y sobrevivirá a las recargas de página o sesiones de navegador.

0
Frank van Puffelen 27 ago. 2020 a las 13:51
63611325