我已经用omniauth gem实现了twitter和facebook身份验证,但当我尝试用openID或谷歌进行身份验证时,我会得到:没有路由匹配[get]"/auth/google_apps"或没有路由匹配[get]"/auth/open_id"errors
我的omniauth.rb文件是:
require 'openid/store/filesystem'
Rails.application.config.middleware.use OmniAuth::Builder do
provider :openid, :store => OpenID::Store::Filesystem.new('/tmp'), :name => 'openid'
provider :openid, :store => OpenID::Store::Filesystem.new('/tmp'), :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id'
我的路线.rb是:
match '/auth/:provider/callback', to: 'authentications#create'
我的Gemfile是这样的:
#for user authentication
gem 'devise'
gem 'omniauth'
gem 'omniauth-twitter'
gem 'omniauth-facebook'
gem 'omniauth-openid'
gem 'omniauth-google-oauth2'
我必须在代码中添加其他内容才能运行OpenID和谷歌身份验证?感谢
您的调用是错误的。您应该致电:
/auth/google
provider :openid, :store => OpenID::Store::Filesystem.new('./tmp')
请使用此代码,并链接/auth/google