使用Devise和Facebook-Omniauth缺少client_id

时间:2012-06-05 04:58:27

标签: facebook ruby-on-rails-3 devise omniauth

这是我的Facebook初始化者/ devise.rb代码:

require "omniauth-facebook"
config.omniauth :facebook, "app_key", "app_secret"

我补充说:

devise :omniauthable进入模型我希望能够使用Facebook。

当我点击此链接时:

<%= link_to "Sign in with Facebook", user_omniauth_authorize_path(:facebook) %>

我明白了:

OAuthException ,消息为:"message": "Missing client_id parameter.",

请注意,app_key和app_secret是我在Facebook应用程序上可以看到的,但我没有放在这里。

在单击“使用facebook登录”链接时重定向的URL上,我看到client_id参数为空:

https://graph.facebook.com/oauth/authorize?response_type=code&client_id&

但为什么?

2 个答案:

答案 0 :(得分:2)

在devise.rb文件中添加此文件

require "omniauth-facebook"
config.omniauth :facebook, "APP_ID", "APP_SECRET"

不要忘记重新启动您的应用以进行更改。

答案 1 :(得分:1)

我从未用设计直接做过。但这也适用于设计。

Omniauth podcast on RailsCasts

或者,如果您仍然希望坚持使用设计内置的omiauth,请尝试找到一种方法来为其提供app id和app secret。我很确定你必须在config / initializers /

中的devise.rb中提供它