Me gustaría verificar si el usuario es nuevo después de una redirección de Google. Dentro de la rutina signInWithEmailLink esto funciona
let credential = await signInWithEmailLink(auth, email, window.location.href) const details = getAdditionalUserInfo(credential) const isNewUser = details.isNewUser pero el registro de esta credencial da UserCredentialImpl y la credencial después de la redirección OAuthCredential
Entonces esto no funciona
const redirectResult = await getRedirectResult(auth) if(redirectResult) { try { const credential = GoogleAuthProvider.credentialFromResult(redirectResult); console.log('credential', credential) const details = getAdditionalUserInfo(credential) const isNewUser = details.isNewUser } catch (error) { const email = error.email; const credential = GoogleAuthProvider.credentialFromError(error); console.log('error while signing in with google - getting redirect result', email, credential, error) } }con el IDE que ya se queja "El tipo de argumento OAuthCredential no se puede asignar al tipo de parámetro UserCredential" y el error "TypeError: no se pueden leer las propiedades de undefined (leyendo 'isAnonymous')"
¿Cómo se puede leer la información de .isNewUser después de la redirección?
Me acabo de dar cuenta de que redirectResult es del tipo UserCredentialImpl , por lo que funciona
const redirectResult = await getRedirectResult(auth) if(redirectResult) { try { const details = getAdditionalUserInfo(redirectResult) const isNewUser = details.isNewUser ... } catch (error) { ... } }