devise_invalidatable 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d347d5fe4c9336e80566904e823f5cfe3a6cf198
4
- data.tar.gz: afe9a82bf243791d442a96c27fb68dd670f74e27
3
+ metadata.gz: 6165e0e72103d737fe4d1a4c9550f09c6cddbb68
4
+ data.tar.gz: 33643b4b0e05a0dfcbf74327501a0bae31cf93a4
5
5
  SHA512:
6
- metadata.gz: 98b958e96dc30e88fb5d2326f151e5d250aaa05eddc55f17be82b2fde1f639fcd630d3400315f8d829d5fd924e2ff034a07c421c5605bbf3a328def4db8af581
7
- data.tar.gz: 3c52bcb01a97d5d8e381fa30fcaf8c25a7975b832b6df240aa744031dff131bcf1dff582bba92443458eac3eaaa5da3e9887d320f0eaa63caa18fbe69520df2d
6
+ metadata.gz: 4117394fc2ecbeb5442b8a56a078bfc065c2a079dbce5331776e1fff9aa5054e914122ef742862b3cf9b14b634904bc852963e31a98a12dd7124b9bbf4db973c
7
+ data.tar.gz: 7f5731908a37967f218939d14729645ae18ddd2f75757780397869ee64ad6c81dc4d09d7e35364f0eee1599cd298cfb1d8a7100e84f7b369d024d6a6ff9c213b
@@ -6,7 +6,8 @@
6
6
  # easier to just use our own id.
7
7
  Warden::Manager.after_set_user except: :fetch do |user, warden, _|
8
8
  UserSession.deactivate(warden.raw_session['auth_id'])
9
- warden.raw_session['auth_id'] = user.activate_session
9
+ warden.raw_session['auth_id'] = user.activate_session(ip: warden.request.ip,
10
+ user_agent: warden.request.user_agent)
10
11
  end
11
12
 
12
13
  # After fetching a user from the session, we check that the session is marked
@@ -22,4 +23,4 @@ end
22
23
  # session cookie can’t be reused afterwards.
23
24
  Warden::Manager.before_logout do |_, warden, _|
24
25
  UserSession.deactivate(warden.raw_session['auth_id'])
25
- end
26
+ end
@@ -11,9 +11,11 @@ module Devise
11
11
  dependent: :destroy
12
12
  end
13
13
 
14
- def activate_session
14
+ def activate_session(options = {})
15
15
  new_session = user_sessions.new
16
16
  new_session.session_id = SecureRandom.hex(127)
17
+ new_session.ip = options[:ip] if options[:ip]
18
+ new_session.user_agent = options[:user_agent] if options[:user_agent]
17
19
  new_session.save
18
20
  purge_old_sessions
19
21
  new_session.session_id
@@ -1,3 +1,3 @@
1
1
  module DeviseInvalidatable
2
- VERSION = '0.0.2'.freeze
2
+ VERSION = '0.1.0'.freeze
3
3
  end
@@ -6,6 +6,8 @@ class DeviseCreateUserSessions < ActiveRecord::Migration
6
6
  create_table @@table_name do |t|
7
7
  t.integer @@column_name
8
8
  t.string :session_id
9
+ t.string :ip
10
+ t.string :user_agent
9
11
  t.timestamps
10
12
  end
11
13
  add_index(@@table_name, @@column_name)
@@ -3,6 +3,8 @@ class UserSession
3
3
  include Mongoid::Timestamps
4
4
 
5
5
  field :session_id, type: String
6
+ field :ip, type: String
7
+ field :user_agent, type: String
6
8
 
7
9
  belongs_to :<%= file_name %>
8
10
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_invalidatable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Adkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-25 00:00:00.000000000 Z
11
+ date: 2016-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -71,7 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
71
  version: '0'
72
72
  requirements: []
73
73
  rubyforge_project:
74
- rubygems_version: 2.4.8
74
+ rubygems_version: 2.5.1
75
75
  signing_key:
76
76
  specification_version: 4
77
77
  summary: Adds the ability to invalidate a session with Devise