我正在使用 OmniAuth GEM,并已成功地将其与 twitter 策略配合使用。我现在正在尝试设置用户也可以在那里使用 facebook 登录的能力。
我明白了,它正确地将我重定向到 facebook。我在 facebook 网站上确认访问并被重定向回我的回调 url(默认 auth/facebook/callback),但这里出错了。
我的路线和推特一样
match "auth/facebook/callback" => "sessions#create"
match "auth/twitter/callback" => "sessions#create"
但我收到一个错误
Faraday::Error::ConnectionFailed SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
我发现非常错误的一件事是会话转储显示了这一点(已用 XXX/ABC 替换了一些键)
_csrf_token: "ABC/ABC=" oauth: {"twitter"=>{"callback_confirmed"=>true, "request_token"=>"XXX", "request_secret"=>"XXX"}} session_id: "XXX"
这里提到了 twitter,但我尝试使用 facebook 登录。也许与我在退出并尝试使用 facebook 登录之前使用 twitter 登录的事实有关。但我对此表示怀疑,并认为这与它对我不起作用的原因有关。