0
我嘗試訪問'/ auth/twitter'時遇到了一個經典的omniauth問題。沒有路線匹配[GET]「/ auth/twitter /」
其他解決方案的問題是我無法從user.rb中刪除:omniauthable,因爲facebook身份驗證不起作用。
此外,如果我刪除下面的設計行,Twitter認證的作品。似乎在使用omniauth twitter和facebook之間存在兼容性問題,是否有人有解決方案?
感謝
devise.rb
require "omniauth-facebook"
config.omniauth :facebook, FACEBOOK_APP_ID, FACEBOOK_APP_SECRET
的Gemfile
# Users from facebook
gem 'omniauth'
gem 'omniauth-facebook'
omniauth.rb
OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET
end
型號/ user.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:confirmable, :omniauthable, omniauth_providers: [:facebook]
end
感謝您的回答。它大部分工作,除了我將link_to [...],'auth/twitter'改爲link_to [...],user_omniauth_authorize_path(:twitter)。 – vladCovaliov