使用 Rails intridea/omniauth 使用 https 而不是 http 发出请求

Make request using https not http using Rails intridea/omniauth

如何配置 Rails intridea/omniauth gem 在验证时发出 HTTPS 请求(使用 localhost)?

它是在特定策略(fb、linkedin、pinterest 等)中还是在中间件配置或其他地方(config/application.rb)中执行?

您应该可以在 OmniAuth::Builder 配置中通过 client_options 参数进行配置。

You can configure custom endpoints via client_options hash passed to provider.

来自 omniauth-facebook 的文档。

示例:

# config/initializers/omniauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV["APP_ID"], ENV["APP_SECRET"],
    client_options: {
      site: "https://graph.facebook.com/v2.0",
      authorize_url: "https://www.facebook.com/v2.0/dialog/oauth"
    }
end