Revocable sessions (#3616)
* feat: Revocable sessions * fix: Tests using sign_in * feat: Configuration entry for the maximum number of session activations
This commit is contained in:
		
					parent
					
						
							
								3783cadf2d
							
						
					
				
			
			
				commit
				
					
						2211e8d1cd
					
				
			
		
					 9 changed files with 116 additions and 1 deletions
				
			
		
							
								
								
									
										4
									
								
								spec/fabricators/session_activation_fabricator.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								spec/fabricators/session_activation_fabricator.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
Fabricator(:session_activation) do
 | 
			
		||||
  user_id    1
 | 
			
		||||
  session_id "MyString"
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										5
									
								
								spec/models/session_activation_spec.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								spec/models/session_activation_spec.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
require 'rails_helper'
 | 
			
		||||
 | 
			
		||||
RSpec.describe SessionActivation, type: :model do
 | 
			
		||||
  pending "add some examples to (or delete) #{__FILE__}"
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			@ -16,6 +16,17 @@ WebMock.disable_net_connect!
 | 
			
		|||
Sidekiq::Testing.inline!
 | 
			
		||||
Sidekiq::Logging.logger = nil
 | 
			
		||||
 | 
			
		||||
Devise::Test::ControllerHelpers.module_eval do
 | 
			
		||||
  alias_method :original_sign_in, :sign_in
 | 
			
		||||
 | 
			
		||||
  def sign_in(resource, deprecated = nil, scope: nil)
 | 
			
		||||
    original_sign_in(resource, scope: scope)
 | 
			
		||||
 | 
			
		||||
    SessionActivation.deactivate warden.raw_session["auth_id"]
 | 
			
		||||
    warden.raw_session["auth_id"] = resource.activate_session
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
RSpec.configure do |config|
 | 
			
		||||
  config.fixture_path = "#{::Rails.root}/spec/fixtures"
 | 
			
		||||
  config.use_transactional_fixtures = true
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue