Firebase中fetchSignInMethodsForEmail对已有用户返回空数组问题
Firebase fetchSignInMethodsForEmail返回空数组问题
问题详情
使用Firebase邮箱密码认证功能时,用户已在Firebase控制台可见,且可正常完成登录、登出操作。但执行以下代码:
const signInMethods = await fetchSignInMethodsForEmail(getAuth(), email);
signInMethods返回空数组,而非预期的['password']。
预期行为
fetchSignInMethodsForEmail应返回该用户已注册的登录方式,即['password']。
实际行为
调用后返回空数组。
复现步骤
- 克隆目标仓库并切换到
add-firebase-auth分支 - 创建
.env文件并填入以下Firebase应用信息(需替换为已开启邮箱密码登录的应用实际值):VITE_FIREBASE_APP_KEY=*** VITE_FIREBASE_MESSAGING_SENDER_ID=*** VITE_FIREBASE_PROJECT_ID=*** VITE_FIREBASE_APP_ID=*** - 执行
npm i安装依赖 - 执行
npm run dev启动开发服务 - 访问控制台显示的地址打开UI界面
- 输入邮箱和密码完成登录
- 确认该用户已出现在Firebase控制台中
- 刷新应用回到登录页面
- 在
auth.ts文件第10行设置断点 - 使用相同邮箱密码再次登录
- 观察到
fetchSignInMethodsForEmail返回空数组
内容的提问来源于stack exchange,提问作者yccteam
相关产品推荐
相关产品推荐

