You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo Facebook登录无代理重定向:参数缺失重定向URI报错

解决Expo无代理模式下Facebook登录重定向URI错误问题

1. 先修复代码语法错误

你的代码里scopes数组的'email'缺少闭合引号,这会导致语法错误,先修正:

const [request, response, promptAsync] = Facebook.useAuthRequest({
    expoClientId: EXPO_CLIENT_ID,
    scopes: ['public_profile', 'email'], // 补全引号
    clientId: CLIENT_ID,
    redirectUri: AuthSession.makeRedirectUri({
        scheme: 'com.julia.app',
        useProxy: false // 明确禁用代理
    }),
    responseType: ResponseType.Code,
});

2. 正确配置Facebook开发者后台

你之前的错误在于把移动应用的Scheme URI加到了**Web端的"有效的OAuth重定向URI"**里,Facebook对移动应用的重定向验证逻辑不同,不需要在这个字段添加Scheme:

  • 进入Facebook开发者后台,打开你的应用,切换到「产品 > Facebook登录 > 设置」
  • 针对iOS平台:
    • 在「iOS」标签下,添加你的Bundle ID(com.julia.app)
    • 启用「单点登录」选项
  • 针对Android平台:
    • 在「Android」标签下,添加你的包名(com.julia.app)和应用签名哈希
    • 启用「单点登录」选项
  • 无需在「有效的OAuth重定向URI」中添加com.julia.app://...这类Scheme,这个字段仅用于Web/浏览器端的登录重定向。

3. 确认RedirectUri的生成逻辑

使用AuthSession.makeRedirectUri时,加上useProxy: false明确禁用代理,确保生成的URI是你的应用Scheme开头的格式(比如com.julia.app://...),这个URI会被Facebook通过你配置的Bundle ID/包名验证,无需HTTPS前缀。

4. 验证配置

完成上述步骤后,重新启动开发构建,调用登录请求应该就能正常触发重定向,不会再出现No redirect uri in the params. no redirect present in uri错误。

内容的提问来源于stack exchange,提问作者learncode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 05:07:14