如何在JavaScript中仅获取Firebase Google登录返回的additionalUserInfo
获取Firebase Google Auth登录结果中的additionalUserInfo
嘿,这事儿超简单的!你已经拿到登录成功后的result对象了,additionalUserInfo就直接挂在这个对象上,不用绕弯子,直接提取出来就行。
咱们直接修改你现有的代码,看看怎么单独获取它:
function googleSignin() { const base_proveider = new firebase.auth.GoogleAuthProvider(); firebase.auth().signInWithPopup(base_proveider) .then(function(result){ // 直接从result中提取additionalUserInfo const additionalUserInfo = result.additionalUserInfo; console.log("获取到的additionalUserInfo:", additionalUserInfo); // 如果你想单独取里面的字段也很方便,比如: // 判断是不是新注册的用户 console.log("是否为新用户:", additionalUserInfo.isNewUser); // 获取谷歌用户的个人资料(昵称、头像等) console.log("用户资料:", additionalUserInfo.profile); console.log("success google account linked") }) .catch(function(err){ console.log(err) console.log('failed to do') }) }
这里给你拆解下additionalUserInfo里常用的几个字段:
- isNewUser:布尔值,用来判断这个用户是不是第一次通过谷歌账号登录你的应用
- profile:一个对象,包含了谷歌用户的公开信息,比如
displayName(昵称)、photoURL(头像链接)、email(邮箱)这些 - username:部分第三方登录会返回这个字段,谷歌登录一般不会返回,不过如果有需要也可以留意下
这样你就能精准拿到你想要的additionalUserInfo内容啦~
内容的提问来源于stack exchange,提问作者Muzammil
相关产品推荐
相关产品推荐

