使用react-facebook-login未弹出Facebook权限请求的问题求助
React Facebook登录未弹出权限请求问题排查与解决
我在用react-facebook-login库给应用添加Facebook登录功能时,遇到一个问题:无需向用户请求权限就能直接获取其Facebook数据。我的代码如下:
<FaceBookLogin appId={PROD_APP_ID} autoLoad={false} fields='name,email,picture' callback={responseFacebook} disableMobileRedirect={true} scope='public_profile, email' render={(renderProps) => ( <button onClick={renderProps.onClick} className='flex items-center justify-center w-full rounded-xl' > <div className='flex items-center justify-center'> {isFbLoading ? ( <div> loading </div> ) : ( <div className='flex items-center'> login with facebook </div> )} </div> </button> )} />
请问这是否与developer.facebook.com的设置有关?如何才能实现如下方图片所示的权限请求弹窗?

问题原因及解决步骤
- 用户已授权过该应用:如果用户之前已经为你的应用授予过
public_profile和email权限,Facebook不会重复弹出请求弹窗。你可以在Facebook的「设置与隐私」→「应用和网站」中找到你的应用,取消授权后重新测试,就能看到权限请求弹窗。 - Facebook应用后台配置问题:
- 登录developer.facebook.com进入应用后台,检查「应用审核」状态:若应用处于开发模式,只有添加到「测试用户」或「测试人员」列表的账号能触发完整权限请求;若为上线状态,需确保
email权限已通过审核(开发模式下测试账号可正常触发弹窗)。 - 确认「Facebook登录」产品配置:在「产品」→「Facebook登录」→「设置」中,检查「OAuth 重定向 URI」是否配置正确,错误的URI会导致登录流程异常。
- 登录developer.facebook.com进入应用后台,检查「应用审核」状态:若应用处于开发模式,只有添加到「测试用户」或「测试人员」列表的账号能触发完整权限请求;若为上线状态,需确保
- 代码参数验证:你的代码中
scope和fields参数配置无误,可尝试将autoLoad设为true测试基础登录流程,排除自定义render方法可能带来的影响。
内容的提问来源于stack exchange,提问作者pyaephyowinn
相关产品推荐
相关产品推荐

