У меня есть классическая проблема omniauth при попытке получить доступ к '/ auth/twitter'.Нет совпадений в маршруте [GET] "/ auth/twitter /"
Проблема с другими решениями там заключается в том, что я не могу удалить: omniauthable from user.rb, потому что аутентификация facebook не будет работать.
Кроме того, если я удаляю линии разработки ниже, аутентификация twitter работает. Кажется, что есть проблема совместимости между twitter и facebook с omniauth, есть ли у кого-нибудь решение?
Благодаря
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