使用Supabase实现Facebook登录遇阻,请求技术协助
解决Supabase Facebook登录无弹窗问题
你的代码本身没有错误,问题出在新版Supabase Auth SDK不再自动触发跳转,旧文档的自动跳转逻辑已被移除,需要手动处理返回的授权URL。
修复步骤:
从signInWithOAuth的返回结果中提取授权URL,手动触发跳转或弹窗:
const { data, error } = await supabase.auth.signInWithOAuth({ provider: "facebook", }); if (!error) { // 方案1:在当前页面跳转到Facebook登录界面 window.location.href = data.url; // 方案2:打开独立弹窗进行登录(更符合预期的弹窗体验) // window.open(data.url, '_blank', 'width=600,height=700'); }
额外检查项:
- 确认Meta开发者平台中你的应用状态为公开发布(开发模式下仅添加的测试用户可登录)
- 核对Supabase提供的Callback URL(格式:
https://<你的项目ID>.supabase.co/auth/v1/callback)已准确添加到Facebook的Valid OAuth Redirect URIs列表中 - 确认Supabase项目的Facebook认证已启用,且
App ID和App Secret填写无误
内容的提问来源于stack exchange,提问作者n8o
相关产品推荐
相关产品推荐

