我正在尝试访问邮递员中的{{url}} / api / v1 / auth / facebook,但我收到以下错误:
"参数app_id是必需的"
在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,但仍然以相同的错误结束。
答案 0 :(得分:1)
您是否尝试将其关闭并再次打开?您的rails应用程序是。