Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.6k views
in Technique[技术] by (71.8m points)

ruby on rails - Receiving a 'Not found. Authentication passthru.' error for Devise omniauthable with namespaced controller

I've never received this error until I tried to use oauth via a namespaced controller - not sure if it's a coincidence or there is an issue here. Any help is appreciated!

Here are some relevant code snippets.

routes.rb

devise_for :users,
            class_name: 'Accounts::User',
            path: 'accounts',
            controllers: {
              omniauth_callbacks: 'accounts/omniauth_callbacks',
              registrations: 'accounts/registrations'
            }

accounts/user.rb

devise :database_authenticatable, :registerable,
        :recoverable, :rememberable, :validatable, :omniauthable,
        omniauth_providers: %i[facebook google_oauth2]

accounts/omniauth_callbacks_controller.rb

module Accounts
  class OmniauthCallbacksController < Devise::OmniauthCallbacksController
    def facebook
      sign_in user_from_auth_hash
      redirect_to root_url, notice: 'Facebook authentication successful.'
    end
  end
end

initializers/devise.rb

config.omniauth_path_prefix = '/accounts/auth'
config.omniauth :facebook, ENV['FACEBOOK_OAUTH_ID'],
  ENV['FACEBOOK_OAUTH_SECRET']

Let me know if there's anything else to add. Thanks!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...