flyerhzm / switch_user

Easily switch current user
MIT License
731 stars 108 forks source link

devise_for :admin_users makes current_user always nil in SwitchUser config #123

Open nfedyashev opened 4 years ago

nfedyashev commented 4 years ago

Hello. I think I may have found a bug.

Simplified version of my routes config looks like this:

1:  devise_for :admin_users, {class_name: 'User'}.merge(ActiveAdmin::Devise.config)
2:  ActiveAdmin.routes(self)
3:  devise_for :users

Luckily I can use switch_user in development environment because view_guard & controller_guard conditions look like:

Rails.env.development? || current_user&.email == 'my@email.com

Unfortunately It doesn't work in production environment because current_user is always nil.

Steps to reproduce:

comment out the 1st line with devise_for :admin_users and current_user is working again and not nil(for signed in users).

Does anyone have an idea on how to make it work with ActiveAdmin?

fcabanasm commented 4 years ago

same here:

config.controller_guard = ->(__current_user, request, original_user) { #users always nil here }