使用omniauth的谷歌open_id连接失败
我正在尝试向我的应用添加open-idfunction,我正在使用omniauth和omniauth-openid gems。
我已经完成了安装步骤,将其作为中间件添加到初始化程序中,
require 'omniauth-openid' require 'openid/store/filesystem' Rails.application.config.middleware.use OmniAuth::Builder do provider :open_id, :store => OpenID::Store::Filesystem.new('/tmp') end
以及用于回调的路由
match '/auth/:provider/callback' => 'callback#myauthentication'
当我尝试点击此url时,连接到谷歌提供商
http://[mydomain]/auth/open_id?openid_url=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid
我每次都得到连接失败错误
对于雅虎 http:// [mydomain] /auth/open_id?openid_url=http%3A%2F%2Fme.yahoo.com%2F
如果我尝试使用yahoo open id,即使正确validation后我也会收到invalid_credentials错误更新1:我正在使用apache web服务器和thin / webrick应用服务器。 我validation了如果我不在apache web服务器后面并直接以localhost:3000运行它可以正常工作。 为什么omniauth表现不同
试试这个gemhttps://github.com/zquestz/omniauth-google-oauth2 ,我用它做了很好的结果。