Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Facebook应用程序是公开的,但只有开发者可以访问_Ruby On Rails_Facebook_Facebook Graph Api_Devise - Fatal编程技术网

Ruby on rails Facebook应用程序是公开的,但只有开发者可以访问

Ruby on rails Facebook应用程序是公开的,但只有开发者可以访问,ruby-on-rails,facebook,facebook-graph-api,devise,Ruby On Rails,Facebook,Facebook Graph Api,Devise,我的FB应用程序是公共的(绿点),对于管理员和开发者来说工作得非常好。但是,当非用户尝试登录时,身份验证失败 FB应用程序截图: 有趣的是,非开发人员用户可以访问权限屏幕,但不能使用FB登录。我仅使用已批准的权限: 范围:'电子邮件,公共档案,用户朋友,用户生日' 我在rails+devise+omniauth+omniauth facebook上 在代码中,它重定向到OmniAuthCallbackController#failure。我尝试创建失败动作来查看发生了什么,但它没有给我任何信息。

我的FB应用程序是公共的(绿点),对于管理员和开发者来说工作得非常好。但是,当非用户尝试登录时,身份验证失败

FB应用程序截图:

有趣的是,非开发人员用户可以访问权限屏幕,但不能使用FB登录。我仅使用已批准的权限: 范围:'电子邮件,公共档案,用户朋友,用户生日'

我在rails+devise+omniauth+omniauth facebook上

在代码中,它重定向到OmniAuthCallbackController#failure。我尝试创建失败动作来查看发生了什么,但它没有给我任何信息。不知道如何调试这个

我使用以下方法:

gem 'devise', '3.4.1'
gem 'omniauth', '1.2.2'
gem 'omniauth-facebook', '2.0.0'
以下是我在production.log中看到的内容:

I, [2015-05-01T17:55:39.141944 #2341]  INFO -- : Started GET "/users/auth/facebook" for 122.167.223.121 at 2015-05-01 17:55:39 +0000
I, [2015-05-01T17:55:39.706464 #2341]  INFO -- : Started GET "/users/auth/facebook/callback?code=AQC5ypphUjqzOquyD4HMWFvaCZjvMfahg5Y_...fljWMCh&state=0857ab97a79206c582b2b7b5391d99cda7b5d4e5ba2f730e" for 122.167.223.121 at 2015-05-01 17:55:39 +0000
I, [2015-05-01T17:55:41.231336 #2341]  INFO -- : Processing by OmniauthCallbacksController#failure as HTML
I, [2015-05-01T17:55:41.231394 #2341]  INFO -- :   Parameters: {"code"=>"AQC5ypphUjqzOquyD4HMWFvaCZjvMfahg5Y...MCh", "state"=>"0857ab97a79206c582b2b7b5391d99cda7b5d4e5ba2f730e"}
I, [2015-05-01T17:55:41.232699 #2341]  INFO -- : Redirected to http://www.oyelife.com/
I, [2015-05-01T17:55:41.232832 #2341]  INFO -- : Completed 302 Found in 1ms (ActiveRecord: 0.0ms)

感谢您的帮助。

经过更多的修补,我自己解决了这个问题

似乎回调URL还必须在设置>高级>OAuth设置>有效OAuth重定向URI中列出。对于开发人员来说,它可以在没有它的情况下工作,但是对于公共用户来说是必需的


如果Facebook在某个地方提到这一点会更好。

你说的“但不能使用FB登录”是什么意思?它能工作吗?当他们输入用户名和密码时会发生什么?更多信息,以便我们可以帮助您。在用户输入用户名和密码后,它会返回到登录页面(主页),而无需用户登录(不调用我网站的回调URL)。如果用户是开发人员(或管理员)之一,它可以正常工作。您确定他们用于登录的电子邮件不在数据库中吗?