如何修复Expo AuthSession Facebook登录错误及无法重定向回应用问题
使用expo-auth-session Facebook登录出错无法重定向的解决办法

问题:使用expo-auth-session/providers/facebook进行Facebook登录时,出现错误提示:“完成登录时出错,请关闭此屏幕返回应用”,且登录后无法重定向回应用。
具体解决步骤:
检查Facebook开发者平台配置
- 确保在Facebook应用后台的OAuth设置中,添加正确的重定向URI:格式为
fb<你的Facebook应用ID>://authorize,并将其加入Valid OAuth Redirect URIs列表,同时开启Client OAuth Login和Web OAuth Login。 - 核对平台设置:iOS需添加与Expo项目一致的Bundle ID;Android需添加匹配的包名和签名哈希,签名哈希可通过Expo命令
expo fetch:android:hashes获取。
- 确保在Facebook应用后台的OAuth设置中,添加正确的重定向URI:格式为
核对Expo项目配置
- 在
app.json或app.config.js中,确保facebookScheme字段设置为fb<你的Facebook应用ID>,比如"facebookScheme": "fb123456789"。 - 确认代码中
FacebookAuthProvider的clientId是正确的Facebook应用ID,无拼写错误。
- 在
区分测试与生产环境
- 若用Expo Go测试,需将Facebook应用设为测试模式,或创建测试应用并添加测试用户账号;正式环境需确保所有权限已通过Facebook审核,避免请求未审核的敏感权限(如
email)。 - 打包独立应用时,Android需确认签名哈希已同步到Facebook后台;iOS需在Xcode中配置对应URL Schemes。
- 若用Expo Go测试,需将Facebook应用设为测试模式,或创建测试应用并添加测试用户账号;正式环境需确保所有权限已通过Facebook审核,避免请求未审核的敏感权限(如
检查回调逻辑与缓存
- 确认
useAuthRequest的回调逻辑正确处理success状态,获取token后执行正确的页面跳转逻辑。 - 清除Expo Go缓存、重启项目,或卸载重装独立应用后重新测试。
- 确认
内容的提问来源于stack exchange,提问作者Satyam rai
相关产品推荐
相关产品推荐

