devise_invalidatable 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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