参数app_id是{{url}}/api/v1/auth/facebook所必需的

参数app_id是{{url}}/api/v1/auth/facebook所必需的

问题描述:

我试图访问邮递员中的{{url}}/api/v1/auth/facebook,但是我得到以下错误:参数app_id是{{url}}/api/v1/auth/facebook所必需的

"The parameter app_id is required"

里面devise.rb我有以下的配置设置config.omniauth :facebook, Rails.application.secrets.facebook_key, Rails.application.secrets.facebook_secret

config/initializers/omniauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :facebook, Rails.application.secrets.facebook_key, Rails.application.secrets.facebook_secret, scope: 'email,age,gender' 
end 

和我耙路线如下:

  GET /api/v1/auth/:provider/callback(.:format)     devise_token_auth/omniauth_callbacks#omniauth_success 
      GET /omniauth/:provider/callback(.:format)      devise_token_auth/omniauth_callbacks#redirect_callbacks 
omniauth_failure GET /omniauth/failure(.:format)        devise_token_auth/omniauth_callbacks#omniauth_failure 
      GET /api/v1/auth/:provider(.:format)       redirect(301) 

我使用以下宝石

gem 'devise_token_auth' 
gem 'omniauth' 
gem 'omniauth-facebook' 

在用户模型,是下面的代码段:

devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable, 
      :lockable, :timeoutable, :omniauthable, :omniauth_providers => [:facebook] 

作为每文档here,我不应该明确地发送任何参数。 我已经在我的ENV变量中定义了app_id,但是我仍然收到这个错误。 我也尝试用它们的实际值替换参数Rails.application.secrets.facebook_key,但仍然以相同的错误结束。

你试过把它关掉再重新打开吗?你的Rails应用程序是。

+0

是的,它的工作。我在这个问题上浪费了几个小时:( – vipin8169

+1

很酷!我以为是这个问题。我们都在那里,很遗憾... – SacWebDeveloper

+0

既然已解决,请接受答案并关闭。谢谢。 – SacWebDeveloper