更改Facebook应用程序凭据打破omniauth-facebook

时间:2013-06-06 17:31:33

标签: ruby facebook omniauth

我在文件中设置了facebook key / secret的本地环境变量,以便与omniauth-facebook一起使用,一切都运行良好。

认为拥有2个facebook应用程序可能是一个好主意,一个用于开发人员,一个用于实时应用程序。不幸的是,当我换掉environment_variables.rb中的密钥时,我在每次授权尝试时都会收到以下错误:

  

OmniAuth :: Strategies :: Facebook ::授权码错误/ auth / facebook / callback

这两个应用的所有设置都是相同的。我换回了实时应用凭据,然后再次运行。

# only change to app is changing these values
ENV['FACEBOOK_KEY'] = '*******************'
ENV['FACEBOOK_SECRET'] = '***********************************'

我尝试了什么:

  • 重启服务器(当然)
  • 删除开发者应用程序的沙盒模式
  • 重置dev app的密钥
  • 清除浏览器中的所有浏览数据
  • 手动删除Cookie

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

这是愚蠢的事情,但我忘了改变javascript中的appId。现在我将appId作为元内容传递:

<!-- head partial -->
<meta name="facebook-app-id" content="<%= ENV['FACEBOOK_KEY'] %>">

然后用jquery

抓住它
// facebook setup script
window.fbAsyncInit = function() {
  FB.init({
    appId  : $('meta[name="facebook-app-id"]').attr('content'),
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true  // parse XFBML
  });
};