El fragmento oficial aquí dice:
// You can access the new user via result.user // Additional user info profile not available via: // result.additionalUserInfo.profile == null // You can check if the user is new or existing: // result.additionalUserInfo.isNewUserIncluso la referencia de la API dice:
Objeto que contiene información adicional del usuario como resultado de una operación correcta de inicio de sesión, vínculo o reautenticación.
Sin embargo, obtengo additionalUserInfo is undefined . Necesito detectar si el inicio de sesión del enlace de correo electrónico es un usuario nuevo o no.
Mi código:
await setPersistence(auth, browserLocalPersistence); const result = await signInWithEmailLink(auth, email.value, window.location.href); if (result && result.user) { window.localStorage.removeItem('email'); window.localStorage.removeItem('its'); console.log(result.additionalUserInfo.isNewUser()); // undefined return router.push({ path: "/dashboard" }); }Debe usar el método getAdditionalUserInfo por separado en el nuevo SDK modular como se menciona en este problema de Github .
import {signInWithEmailLink, getAdditionalUserInfo} from "firebase/auth" const result = await signInWithEmailLink(auth, email.value, window.location.href); const {isNewUser} = getAdditionalUserInfo(result) // Pass the UserCredential ^^^^^^