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) {
...
}
}
我想在 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) {
...
}
}