我正在使用Authlogic-Connect进行第三方登录.运行适当的迁移后,Twitter/Google/yahoo登录似乎工作正常但Facebook登录引发异常:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Run Code Online (Sandbox Code Playgroud)
开发日志显示
OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):
app/controllers/users_controller.rb:37:in `update'
Run Code Online (Sandbox Code Playgroud)
请建议..
我正在尝试使用signet将OAuth用于Google服务.并得到此错误:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Run Code Online (Sandbox Code Playgroud)
以下问题:
似乎解决方案是修复ca_path或设置.VERIFY_NONESSL
ca_path发布的修复程序仅适用于Linux(端口安装),修复程序VERIFY_NONE似乎适用于法拉第.
是否有Windows/signet gem的解决方案?
我正在尝试使用OmniAuth对Facebook用户进行身份验证.最初,它工作,但一路上它只是停止工作,并开始给我这个错误信息:
OpenSSL :: SSL :: SSLError SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败
相同的代码适用于Twitter,我似乎无法理解为什么它不适用于Facebook.我在网上寻求帮助,但我没有成功.
这是我正在建立的网站的链接:http://www.bestizz.com/
这个网址会给你错误信息:http://www.bestizz.com/auth/facebook
我正在尝试按照此Railscast中的描述设置Omniauth .虽然它适用于Twitter,但我无法让它与Facebook合作.我还将' http:// localhost:3000 '设置为siteurl,将'localhost'设置为域,但仍然在浏览器中看到以下错误消息:
Invalid redirect_uri: Given URL is not allowed by the Application configuration.
Run Code Online (Sandbox Code Playgroud)
你们有没有人对如何解决这个问题有任何建议?提前致谢.
我正在尝试通过Facebook或Twitter对用户进行身份验证,让他们填写他们的信息,然后单击"保存"(从而创建用户记录).我在最后一步得到一个OpenSSL错误 - 点击保存后.这发生在Devise RegistrationsController #create方法中.
所以我在我的Rails应用程序中收到此错误,在Heroku上托管:
2012-07-28T18:25:13+00:00 app[web.1]: OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed)
Run Code Online (Sandbox Code Playgroud)
我见过很多解决方案,但都没有.以下是我尝试过的一些事情:
1)安装certified宝石
2)将Heroku宝石升级到v2.30,再次推动
3)这个:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, TWITTER_KEY, TWITTER_SECRET, {:client_options => {:ssl => {:ca_file => "/usr/lib/ssl/certs/ca-certificates.crt"}}}
provider :facebook, FACEBOOK_KEY, FACEBOOK_SECRET, {:scope => "publish_actions,user_location,email", :client_options => {:ssl => {:ca_file => "/usr/lib/ssl/certs/ca-certificates.crt"}}}
end
Run Code Online (Sandbox Code Playgroud)
似乎有一个问题可能是这个证书文件实际上并不存在 - 我已经在几个地方看到了它,而且看起来这是Heroku的ca_cert文件的默认路径,但我可能是错的.
奇怪的是,这是在我通过FB/Twitter进行身份验证之后发生的,并且我正在尝试创建用户的帐户.为什么会这样,我该如何解决/调试呢?真诚的困惑.
更新:我将此行添加到Omniauth初始化程序,现在它"正常".因此,我已经诊断出问题出在Omniauth上.但是,我还想进行SSL验证......这显然会留下安全漏洞.
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
我已经尝试了推送通知我的应用程序开发,它工作正常.当我生成生产(分发)的.p12文件时,它正在创建.在服务器上部署.pem文件后,它正在抛出并出错.
OpenSSL :: SSL :: SSLError(SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器激励票A:sslv3警报证书未知):"}
服务器:RoR(Ruby on Rails) 任何帮助都会非常明显.
注意:对于开发.p12,它工作正常.问题是我正在部署分发.p12.请建议我可能遗漏的内容.
感谢致敬
iphone ruby-on-rails push-notification apple-push-notifications ios
我面临的问题与此处描述的相同 - OmniAuth和Facebook:证书验证失败
投票最多的答案建议将以下内容添加到您的Omniauth初始值设定项中:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, FACEBOOK_KEY, FACEBOOK_SECRET, {:client_options => {:ssl => {:ca_path => "/etc/ssl/certs"}}}
end
Run Code Online (Sandbox Code Playgroud)
但他提到"/ etc/ssl/certs"是ubuntu的CA_PATH.Windows的相关CA_PATH是什么?
如果我的机器上没有证书,我该如何安装证书?我在哪里放置证书文件?