{{url}}/api/v1/auth/facebook 需要参数 app_id

The parameter app_id is required for {{url}}/api/v1/auth/facebook

我试图在 postman 中访问 {{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

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 应用就是。