easy_auth 0.0.3 → 0.0.4
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.
- data/app/mixins/easy_auth/controllers/password_reset.rb +1 -1
- data/app/mixins/easy_auth/controllers/sessions.rb +1 -1
- data/app/mixins/easy_auth/helpers.rb +2 -2
- data/app/mixins/easy_auth/models/account.rb +11 -0
- data/app/mixins/easy_auth/models/identity.rb +5 -6
- data/db/migrate/20120227014023_create_identities.rb +1 -2
- data/lib/easy_auth/version.rb +1 -1
- metadata +37 -24
@@ -40,7 +40,7 @@ module EasyAuth::Controllers::PasswordReset
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def after_successful_password_reset(identity)
|
43
|
-
|
43
|
+
identity.set_account_session(session)
|
44
44
|
identity.update_attribute(:reset_token, nil)
|
45
45
|
redirect_to after_successful_password_reset_path(identity), :notice => I18n.t('easy_auth.password_reset.update.notice')
|
46
46
|
end
|
@@ -5,7 +5,7 @@ module EasyAuth::Controllers::Sessions
|
|
5
5
|
|
6
6
|
def create
|
7
7
|
if identity = EasyAuth.identity_model.authenticate(params[:identity])
|
8
|
-
|
8
|
+
identity.set_account_session(session)
|
9
9
|
if identity.remember
|
10
10
|
cookies[:remember_token] = { :value => identity.generate_remember_token!, :expires => identity.remember_time.from_now }
|
11
11
|
end
|
@@ -7,9 +7,9 @@ module EasyAuth
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def current_account
|
10
|
-
if session[:session_token]
|
10
|
+
if session[:session_token] && session[:account_class]
|
11
11
|
begin
|
12
|
-
@current_account ||=
|
12
|
+
@current_account ||= session[:account_class].constantize.find_by_session_token(session[:session_token])
|
13
13
|
rescue
|
14
14
|
@current_account = nil
|
15
15
|
session.delete(:session_token)
|
@@ -29,6 +29,17 @@ module EasyAuth::Models::Account
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
+
def generate_session_token!
|
33
|
+
token = BCrypt::Password.create("#{id}-session_token-#{DateTime.current}")
|
34
|
+
self.update_attribute(:session_token, token)
|
35
|
+
self.session_token
|
36
|
+
end
|
37
|
+
|
38
|
+
def set_session(session)
|
39
|
+
session[:session_token] = generate_session_token!
|
40
|
+
session[:account_class] = self.class.to_s
|
41
|
+
end
|
42
|
+
|
32
43
|
private
|
33
44
|
|
34
45
|
def setup_identity
|
@@ -18,6 +18,10 @@ module EasyAuth::Models::Identity
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
def set_account_session(session)
|
22
|
+
account.set_session(session)
|
23
|
+
end
|
24
|
+
|
21
25
|
def remember
|
22
26
|
@remember
|
23
27
|
end
|
@@ -31,11 +35,6 @@ module EasyAuth::Models::Identity
|
|
31
35
|
self.reset_token
|
32
36
|
end
|
33
37
|
|
34
|
-
def generate_session_token!
|
35
|
-
self.update_attribute(:session_token, _generate_token(:session))
|
36
|
-
self.session_token
|
37
|
-
end
|
38
|
-
|
39
38
|
def generate_remember_token!
|
40
39
|
self.update_attribute(:remember_token, _generate_token(:remember))
|
41
40
|
self.remember_token
|
@@ -48,6 +47,6 @@ module EasyAuth::Models::Identity
|
|
48
47
|
private
|
49
48
|
|
50
49
|
def _generate_token(type)
|
51
|
-
BCrypt::Password.create("#{id}-#{type}_token-#{DateTime.current}")
|
50
|
+
token = BCrypt::Password.create("#{id}-#{type}_token-#{DateTime.current}")
|
52
51
|
end
|
53
52
|
end
|
@@ -6,12 +6,11 @@ class CreateIdentities < ActiveRecord::Migration
|
|
6
6
|
t.string :account_type
|
7
7
|
t.integer :account_id
|
8
8
|
t.string :reset_token
|
9
|
-
t.string :session_token
|
10
9
|
t.string :remember_token
|
11
10
|
t.timestamps
|
12
11
|
end
|
13
12
|
|
14
|
-
[:username, :reset_token, :remember_token
|
13
|
+
[:username, :reset_token, :remember_token].each do |column|
|
15
14
|
add_index :identities, column
|
16
15
|
end
|
17
16
|
end
|
data/lib/easy_auth/version.rb
CHANGED
metadata
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easy_auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Brian Cardarella
|
9
|
+
- Dan McClain
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
13
|
+
date: 2012-06-19 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: rails
|
16
|
-
requirement: &
|
17
|
+
requirement: &70156579670080 !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
19
|
requirements:
|
19
20
|
- - ~>
|
@@ -21,10 +22,10 @@ dependencies:
|
|
21
22
|
version: 3.2.1
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
+
version_requirements: *70156579670080
|
25
26
|
- !ruby/object:Gem::Dependency
|
26
27
|
name: bcrypt-ruby
|
27
|
-
requirement: &
|
28
|
+
requirement: &70156579667400 !ruby/object:Gem::Requirement
|
28
29
|
none: false
|
29
30
|
requirements:
|
30
31
|
- - ~>
|
@@ -32,10 +33,10 @@ dependencies:
|
|
32
33
|
version: 3.0.0
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements: *
|
36
|
+
version_requirements: *70156579667400
|
36
37
|
- !ruby/object:Gem::Dependency
|
37
38
|
name: sqlite3
|
38
|
-
requirement: &
|
39
|
+
requirement: &70156579516800 !ruby/object:Gem::Requirement
|
39
40
|
none: false
|
40
41
|
requirements:
|
41
42
|
- - ! '>='
|
@@ -43,10 +44,10 @@ dependencies:
|
|
43
44
|
version: '0'
|
44
45
|
type: :development
|
45
46
|
prerelease: false
|
46
|
-
version_requirements: *
|
47
|
+
version_requirements: *70156579516800
|
47
48
|
- !ruby/object:Gem::Dependency
|
48
49
|
name: rspec-rails
|
49
|
-
requirement: &
|
50
|
+
requirement: &70156579515800 !ruby/object:Gem::Requirement
|
50
51
|
none: false
|
51
52
|
requirements:
|
52
53
|
- - ! '>='
|
@@ -54,10 +55,10 @@ dependencies:
|
|
54
55
|
version: '0'
|
55
56
|
type: :development
|
56
57
|
prerelease: false
|
57
|
-
version_requirements: *
|
58
|
+
version_requirements: *70156579515800
|
58
59
|
- !ruby/object:Gem::Dependency
|
59
60
|
name: capybara
|
60
|
-
requirement: &
|
61
|
+
requirement: &70156579515000 !ruby/object:Gem::Requirement
|
61
62
|
none: false
|
62
63
|
requirements:
|
63
64
|
- - ! '>='
|
@@ -65,10 +66,10 @@ dependencies:
|
|
65
66
|
version: '0'
|
66
67
|
type: :development
|
67
68
|
prerelease: false
|
68
|
-
version_requirements: *
|
69
|
+
version_requirements: *70156579515000
|
69
70
|
- !ruby/object:Gem::Dependency
|
70
71
|
name: capybara-email
|
71
|
-
requirement: &
|
72
|
+
requirement: &70156579514180 !ruby/object:Gem::Requirement
|
72
73
|
none: false
|
73
74
|
requirements:
|
74
75
|
- - ! '>='
|
@@ -76,10 +77,10 @@ dependencies:
|
|
76
77
|
version: '0'
|
77
78
|
type: :development
|
78
79
|
prerelease: false
|
79
|
-
version_requirements: *
|
80
|
+
version_requirements: *70156579514180
|
80
81
|
- !ruby/object:Gem::Dependency
|
81
82
|
name: valid_attribute
|
82
|
-
requirement: &
|
83
|
+
requirement: &70156579513340 !ruby/object:Gem::Requirement
|
83
84
|
none: false
|
84
85
|
requirements:
|
85
86
|
- - ! '>='
|
@@ -87,10 +88,10 @@ dependencies:
|
|
87
88
|
version: '0'
|
88
89
|
type: :development
|
89
90
|
prerelease: false
|
90
|
-
version_requirements: *
|
91
|
+
version_requirements: *70156579513340
|
91
92
|
- !ruby/object:Gem::Dependency
|
92
93
|
name: factory_girl_rails
|
93
|
-
requirement: &
|
94
|
+
requirement: &70156579512540 !ruby/object:Gem::Requirement
|
94
95
|
none: false
|
95
96
|
requirements:
|
96
97
|
- - ! '>='
|
@@ -98,10 +99,10 @@ dependencies:
|
|
98
99
|
version: '0'
|
99
100
|
type: :development
|
100
101
|
prerelease: false
|
101
|
-
version_requirements: *
|
102
|
+
version_requirements: *70156579512540
|
102
103
|
- !ruby/object:Gem::Dependency
|
103
104
|
name: bourne
|
104
|
-
requirement: &
|
105
|
+
requirement: &70156579528620 !ruby/object:Gem::Requirement
|
105
106
|
none: false
|
106
107
|
requirements:
|
107
108
|
- - ! '>='
|
@@ -109,10 +110,21 @@ dependencies:
|
|
109
110
|
version: '0'
|
110
111
|
type: :development
|
111
112
|
prerelease: false
|
112
|
-
version_requirements: *
|
113
|
+
version_requirements: *70156579528620
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: launchy
|
116
|
+
requirement: &70156579527160 !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
118
|
+
requirements:
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
type: :development
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: *70156579527160
|
113
125
|
- !ruby/object:Gem::Dependency
|
114
126
|
name: debugger
|
115
|
-
requirement: &
|
127
|
+
requirement: &70156579525340 !ruby/object:Gem::Requirement
|
116
128
|
none: false
|
117
129
|
requirements:
|
118
130
|
- - ! '>='
|
@@ -120,11 +132,12 @@ dependencies:
|
|
120
132
|
version: '0'
|
121
133
|
type: :development
|
122
134
|
prerelease: false
|
123
|
-
version_requirements: *
|
135
|
+
version_requirements: *70156579525340
|
124
136
|
description: EasyAuth
|
125
137
|
email:
|
126
138
|
- brian@dockyard.com
|
127
139
|
- bcardarella@gmail.com
|
140
|
+
- rubygems@danmcclain.net
|
128
141
|
executables: []
|
129
142
|
extensions: []
|
130
143
|
extra_rdoc_files: []
|
@@ -172,7 +185,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
172
185
|
version: '0'
|
173
186
|
segments:
|
174
187
|
- 0
|
175
|
-
hash:
|
188
|
+
hash: -1391021110248690404
|
176
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
177
190
|
none: false
|
178
191
|
requirements:
|
@@ -181,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
194
|
version: '0'
|
182
195
|
segments:
|
183
196
|
- 0
|
184
|
-
hash:
|
197
|
+
hash: -1391021110248690404
|
185
198
|
requirements: []
|
186
199
|
rubyforge_project:
|
187
200
|
rubygems_version: 1.8.11
|