我正在使用OmniAuth GEM并成功使用了twitter策略。我现在正在尝试设置用户也可以使用facebook登录的能力。
我得到了它正确的重定向我到Facebook。我在facebook网站上确认了访问权限,并被重定向回我的回调网址(默认的auth / facebook / callback),但这里有错误。
我有与推特相同的路线
match "auth/facebook/callback" => "sessions#create"
match "auth/twitter/callback" => "sessions#create"
但是我收到了错误
Faraday :: Error :: ConnectionFailed SSL_connect返回= 1 errno = 0 state = SSLv3读取服务器证书B:证书验证失败
我觉得非常错误的一件事就是会话转储显示了这一点(用XXX / ABC替换了一些键)
_csrf_token:“ABC / ABC =”oauth:{“twitter”=> {“callback_confirmed”=> true, “request_token”=> “中XXX”, “request_secret”=> “中XXX”}} session_id:“XXX”
这里提到推特,但我试着用facebook登录。也许与我在登录并尝试使用facebook登录之前使用Twitter登录的事实有关。但我对此表示怀疑,并认为这与它不适合我的原因有关。
答案 0 :(得分:0)
您好您可以使用以下路线而不是您的路线
match "auth/:provider/callback" => "sessions#create"
并将您的Facebook设置更改为
AccountSettings => security =>安全浏览=>禁用
附在屏幕截图中。
所以本地只是禁用并在生产中购买SSL证书,它将起作用。