firebase (v9) 如何在 Google 重定向后获取 'isNewUser' 信息?

firebase (v9) How to get 'isNewUser' info after Google redirect?

我想在 Google 重定向后检查用户是否是新用户。在 signInWithEmailLink 例程中这有效

let credential = await signInWithEmailLink(auth, email, window.location.href)
const details = getAdditionalUserInfo(credential)
const isNewUser = details.isNewUser

但记录此凭据会提供 UserCredentialImpl 和重定向后的凭据 OAuthCredential
所以这行不通

 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)
            }
        }

IDE 已经抱怨 “参数类型 OAuthCredential 不可分配给参数类型 UserCredential” 和错误 “类型错误:无法读取属性未定义的(阅读 'isAnonymous')"

如何在重定向后读取 .isNewUser 信息?

我刚刚意识到 redirectResult 的类型是 UserCredentialImpl 所以这有效

const redirectResult = await getRedirectResult(auth)
        if(redirectResult) {
            try {      
                const details = getAdditionalUserInfo(redirectResult)
                const isNewUser = details.isNewUser
                ...           
            } catch (error) {
                ...
            }
        }