Firebase Web v9模块化:添加授权Scope后如何获取用户邮箱?
获取Firebase Google登录后的用户邮箱信息
登录成功后,你可以直接从result.user对象的**email属性**获取用户邮箱,另外还能通过emailVerified属性判断该邮箱是否已验证。
具体代码示例(基于你的现有代码修改)
signInWithPopup(auth, provider) .then((result)=>{ const user = result.user; // 获取用户邮箱 const userEmail = user.email; // 可选:检查邮箱是否已验证 const isEmailVerified = user.emailVerified; console.log('当前登录用户邮箱:', userEmail); console.log('邮箱是否已验证:', isEmailVerified); storeUser(user); }) .catch((err)=>{ console.log(`google err --->${err.message}`); }) .finally(()=>{});
补充说明
- 由于你已经通过
provider.addScope('email')请求了邮箱权限,只要用户的Google账号绑定了邮箱,user.email就会返回有效数据。 - 这种获取邮箱的方式同样适用于Firebase其他认证方式(比如邮箱密码登录、Facebook登录),核心都是访问用户对象的
email属性。
内容的提问来源于stack exchange,提问作者List To Profit
相关产品推荐
相关产品推荐

