LoginSignup
5
3

More than 5 years have passed since last update.

[Rails] URLにlocaleの情報を入れたい時、Devise と OmniAuth で OAuth認証しようとすると、callbackでエラーになる場合

Posted at

config/routes.rbをいじって、omnicauth_callbacksだけ、localeを入れるscopeから外してあげればいいです。

Rails.application.routes.draw do
  devise_for :users,
  skip: [
    :session,
    :password,
    :registration,
    :confirmation
  ],
  controllers: {
    omniauth_callbacks: 'users/omniauth_callbacks'
  }

  scope '(:locale)', locale: /en/ do
    get 'omniauth/:provider' => 'users/omniauth#localized', as: :localized_omniauth
    devise_for :users,
    skip: :omniauth_callbacks,
    controllers: {
      sessions:            'users/sessions',
      registrations:       'users/registrations',
      passwords:           'users/passwords',
      confirmations:       'users/confirmations'
    }
end
5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3