gpt4 book ai didi

ruby-on-rails - rails 3 omniauth SSL错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:43 25 4
gpt4 key购买 nike

我正在尝试与 AuthLogic 一起为 Facebook 实现 OmniAuth。我目前收到以下错误:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

我已经尝试过这里显示的解决方案:SSL Error OmniAuth in Ruby on Rails没有成功。尝试启动我的服务器时出现错误(未定义的局部变量或方法“config”)。我在 Windows 机器上下载了 cacert.pem 文件并将其放在/config/文件夹中。

这是我在/initialzers/omniauth.rb 文件中的代码:

Rails.application.config.middleware.use OmniAuth::Builder do

require "omniauth-facebook"

if RbConfig::CONFIG["host_os"] =~ /mingw|mswin/
ca_file = File.expand_path Rails.root.join("config", "cacert.pem")

ssl_options = {}
ssl_options[:ca_path] = '/etc/ssl/certs' if Rails.env.staging?
ssl_options[:ca_file] = ca_file

config.omniauth :facebook, "MYAPPID", "MYAPPSECRET", # "APP_ID", "APP_SECRET" your got from facebook app registration
:client_options => {:ssl => ssl_options}
else
config.omniauth :facebook, "MYAPPID", "MYAPPSECRET"
end

end

我还看到引用 ca-certificate.crt 而不是 cacert.pem 的帖子,它在寻找其中的哪一个?我对接下来要尝试的事情有点迷茫,非常感谢任何帮助!

最佳答案

你在这里得到的(未定义的局部变量或方法'config')错误是因为你的文件中没有定义'config'变量。您从中提取它的帖子正在配置具有Devise.setup 执行 |config| ...结束 block ,以便可以在那里使用变量配置。

摆脱配置变量,它会是这样的,

Rails.application.config.middleware.use OmniAuth::Builder do


if RbConfig::CONFIG["host_os"] =~ /mingw|mswin/
ca_file = File.expand_path Rails.root.join("config", "cacert.pem")

ssl_options = {}
ssl_options[:ca_path] = '/etc/ssl/certs' if Rails.env.staging?
ssl_options[:ca_file] = ca_file

provider :facebook, "MYAPPID", "MYAPPSECRET", # "APP_ID", "APP_SECRET" your got from facebook app registration
:client_options => {:ssl => ssl_options}
else
provider :facebook, "MYAPPID", "MYAPPSECRET"
end

end

关于ruby-on-rails - rails 3 omniauth SSL错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9756283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com