In this app, GitHub authentication is the sole authentication option. To avoid being automatically logged in in the localhost environment, I can log out of GitHub in my browser or open up the localhost site in private to get the option to log in. However, clicking on the “Log in” option then
takes me to https://github.com/login, which means that I can only log in as myself and not one of the seeded users.
Given this, what’s the procedure to log in as one of the seeded users?
OK, I’m trying out the bypass_sign_in feature. I’m getting the following error:
/home/winner/.rbenv/gems/2.6.0/gems/devise-4.5.0/lib/devise/controllers/sign_in_out.rb:112:in expire_data_after_sign_in!': undefined local variable or method session’ for main:Object (NameError)
``
I’ve put the script login.rb in the root directory of the project. The code of login.rb is:
require File.expand_path(‘…/config/environment’, FILE)
require ‘devise’
include Devise::Controllers::SignInOut
puts ‘---------------------------’
puts ‘Logging in as a seeded user’
puts ‘’
puts “Pick a user number from #{n_first} to #{n_last}:”
n_input = gets.chomp().to_i;
@user = users[n_input];
puts @user
bypass_sign_in @user, scope: :user
``
Everything works as expected until the bypass_sign_in. Is there another “require” or “include” statement that I need to add?
bypass_sign_in is intended to be used from a controller where you’ll have access to things like ‘session’
I suggest you start by getting it working in the intended environment before you try to pull it out into a standalone script.
The test environment already has the ability to log in as a user other than myself. I’m trying to get my localhost/development setup to do the same thing by running a Ruby script.