You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在localhost配置Facebook登录遇权限问题求助

解决Facebook登录在localhost/ngrok环境下的"App Not Setup"问题

我之前帮朋友排查过几乎一模一样的问题,给你几个大概率能解决的方向:

  • 确认App的Live状态真的生效
    有时候Facebook开发者后台会有缓存,看起来切换到Live了,但实际状态没更新。你可以退出后台重新登录,或者刷新App Dashboard页面,确认顶部显示的是「Live」而非「In Development」。另外,检查「Settings > Basic」里的隐私政策URL是否能正常访问、联系邮箱是否完成验证——这些是切换到Live的必要条件,没满足的话即使按钮变绿也可能没真正激活。

  • 确保测试账号有访问权限
    就算App切换到Live模式,如果你用的Facebook账号不是该App的管理员、开发者,也没被添加到「测试用户」列表里,依然会触发这个报错。去「Roles > Test Users」里添加你用来测试的账号,或者直接用管理员账号测试。

  • 严格匹配OAuth回调URL
    Facebook对回调URL的校验非常严格,必须完全一致——包括HTTP/HTTPS协议、端口号、路径的每一个字符。比如你设置的是http://localhost:3000/auth/facebook/callback,那实际请求的回调URL不能多一个末尾斜杠、不能把http换成https。用ngrok的话,要把生成的完整域名(比如https://abc123.ngrok.io)替换掉所有localhost相关的配置,包括App Domain、网站URL、有效OAuth回调URL,不能只加不替换。

  • 清除浏览器缓存和Cookie
    浏览器可能缓存了旧的App状态信息,导致即使后台配置改了,请求还是用的旧数据。试试用无痕模式打开localhost页面测试,或者手动清除Facebook相关的Cookie。

  • 核对App ID和App Secret的配置
    检查你的localhost环境里是否用错了App ID/Secret——比如不小心用了生产环境的配置,而生产环境的App没加localhost的回调URL。确保前后端配置的都是当前这个配置了localhost/ngrok的App的凭证。

我当时朋友的问题就是切换到Live后,忘了把自己的测试账号加到「测试用户」列表里,导致非管理员账号无法访问。你可以先从这个点排查试试!

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

火山引擎 最新活动