authlogic 2.1.11 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of authlogic might be problematic. Click here for more details.
- data/Gemfile +9 -1
- data/Gemfile.lock +39 -15
- data/LICENSE +1 -1
- data/README.rdoc +19 -8
- data/Rakefile +19 -0
- data/VERSION.yml +4 -4
- data/authlogic.gemspec +214 -18
- data/lib/authlogic/acts_as_authentic/email.rb +12 -12
- data/lib/authlogic/acts_as_authentic/logged_in_status.rb +2 -2
- data/lib/authlogic/acts_as_authentic/login.rb +14 -14
- data/lib/authlogic/acts_as_authentic/password.rb +2 -2
- data/lib/authlogic/acts_as_authentic/perishable_token.rb +15 -15
- data/lib/authlogic/acts_as_authentic/persistence_token.rb +1 -1
- data/lib/authlogic/acts_as_authentic/session_maintenance.rb +2 -15
- data/lib/authlogic/authenticates_many/base.rb +3 -4
- data/lib/authlogic/controller_adapters/sinatra_adapter.rb +1 -1
- data/lib/authlogic/regex.rb +8 -9
- data/lib/authlogic/session/active_record_trickery.rb +9 -1
- data/lib/authlogic/session/callbacks.rb +1 -1
- data/lib/authlogic/session/cookies.rb +15 -15
- data/lib/authlogic/session/foundation.rb +8 -0
- data/lib/authlogic/session/validation.rb +2 -2
- data/lib/generators/authlogic/USAGE +8 -0
- data/lib/generators/authlogic/session_generator.rb +14 -0
- data/lib/generators/authlogic/templates/session.rb +2 -0
- data/test/acts_as_authentic_test/base_test.rb +1 -1
- data/test/acts_as_authentic_test/email_test.rb +26 -22
- data/test/acts_as_authentic_test/logged_in_status_test.rb +1 -1
- data/test/acts_as_authentic_test/login_test.rb +21 -21
- data/test/acts_as_authentic_test/magic_columns_test.rb +1 -1
- data/test/acts_as_authentic_test/password_test.rb +1 -1
- data/test/acts_as_authentic_test/perishable_token_test.rb +1 -1
- data/test/acts_as_authentic_test/persistence_token_test.rb +1 -1
- data/test/acts_as_authentic_test/restful_authentication_test.rb +1 -1
- data/test/acts_as_authentic_test/session_maintenance_test.rb +1 -1
- data/test/acts_as_authentic_test/single_access_test.rb +1 -1
- data/test/authenticates_many_test.rb +1 -1
- data/test/crypto_provider_test/aes256_test.rb +1 -1
- data/test/crypto_provider_test/bcrypt_test.rb +1 -1
- data/test/crypto_provider_test/sha1_test.rb +1 -1
- data/test/crypto_provider_test/sha256_test.rb +1 -1
- data/test/crypto_provider_test/sha512_test.rb +1 -1
- data/test/i18n_test.rb +1 -1
- data/test/random_test.rb +1 -1
- data/test/session_test/activation_test.rb +1 -1
- data/test/session_test/active_record_trickery_test.rb +16 -6
- data/test/session_test/brute_force_protection_test.rb +1 -1
- data/test/session_test/callbacks_test.rb +1 -1
- data/test/session_test/cookies_test.rb +43 -21
- data/test/session_test/existence_test.rb +1 -1
- data/test/session_test/http_auth_test.rb +1 -1
- data/test/session_test/id_test.rb +1 -1
- data/test/session_test/klass_test.rb +1 -1
- data/test/session_test/magic_columns_test.rb +1 -1
- data/test/session_test/magic_states_test.rb +1 -1
- data/test/session_test/params_test.rb +1 -1
- data/test/session_test/password_test.rb +1 -1
- data/test/session_test/perishability_test.rb +1 -1
- data/test/session_test/persistence_test.rb +1 -1
- data/test/session_test/scopes_test.rb +1 -1
- data/test/session_test/session_test.rb +1 -1
- data/test/session_test/timeout_test.rb +1 -1
- data/test/session_test/unauthorized_record_test.rb +1 -1
- data/test/session_test/validation_test.rb +1 -1
- data/test/test_helper.rb +3 -19
- metadata +59 -96
- checksums.yaml +0 -7
- data/.gitignore +0 -10
- data/CHANGELOG.rdoc +0 -345
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'test_helper'
|
2
2
|
|
3
3
|
module SessionTest
|
4
4
|
module CookiesTest
|
@@ -6,84 +6,108 @@ module SessionTest
|
|
6
6
|
def test_cookie_key
|
7
7
|
UserSession.cookie_key = "my_cookie_key"
|
8
8
|
assert_equal "my_cookie_key", UserSession.cookie_key
|
9
|
-
|
9
|
+
|
10
10
|
UserSession.cookie_key "user_credentials"
|
11
11
|
assert_equal "user_credentials", UserSession.cookie_key
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
def test_default_cookie_key
|
15
15
|
assert_equal "user_credentials", UserSession.cookie_key
|
16
16
|
assert_equal "back_office_user_credentials", BackOfficeUserSession.cookie_key
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
def test_remember_me
|
20
20
|
UserSession.remember_me = true
|
21
21
|
assert_equal true, UserSession.remember_me
|
22
22
|
session = UserSession.new
|
23
23
|
assert_equal true, session.remember_me
|
24
|
-
|
24
|
+
|
25
25
|
UserSession.remember_me false
|
26
26
|
assert_equal false, UserSession.remember_me
|
27
27
|
session = UserSession.new
|
28
28
|
assert_equal false, session.remember_me
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
def test_remember_me_for
|
32
32
|
UserSession.remember_me_for = 3.years
|
33
33
|
assert_equal 3.years, UserSession.remember_me_for
|
34
34
|
session = UserSession.new
|
35
35
|
session.remember_me = true
|
36
36
|
assert_equal 3.years, session.remember_me_for
|
37
|
-
|
37
|
+
|
38
38
|
UserSession.remember_me_for 3.months
|
39
39
|
assert_equal 3.months, UserSession.remember_me_for
|
40
40
|
session = UserSession.new
|
41
41
|
session.remember_me = true
|
42
42
|
assert_equal 3.months, session.remember_me_for
|
43
43
|
end
|
44
|
-
end
|
45
44
|
|
45
|
+
def test_secure
|
46
|
+
UserSession.secure = true
|
47
|
+
assert_equal true, UserSession.secure
|
48
|
+
session = UserSession.new
|
49
|
+
assert_equal true, session.secure
|
50
|
+
|
51
|
+
UserSession.secure false
|
52
|
+
assert_equal false, UserSession.secure
|
53
|
+
session = UserSession.new
|
54
|
+
assert_equal false, session.secure
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_httponly
|
58
|
+
UserSession.httponly = true
|
59
|
+
assert_equal true, UserSession.httponly
|
60
|
+
session = UserSession.new
|
61
|
+
assert_equal true, session.httponly
|
62
|
+
|
63
|
+
UserSession.httponly false
|
64
|
+
assert_equal false, UserSession.httponly
|
65
|
+
session = UserSession.new
|
66
|
+
assert_equal false, session.httponly
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
46
70
|
class InstanceMethodsTest < ActiveSupport::TestCase
|
47
71
|
def test_credentials
|
48
72
|
session = UserSession.new
|
49
73
|
session.credentials = {:remember_me => true}
|
50
74
|
assert_equal true, session.remember_me
|
51
75
|
end
|
52
|
-
|
76
|
+
|
53
77
|
def test_remember_me
|
54
78
|
session = UserSession.new
|
55
79
|
assert_equal false, session.remember_me
|
56
80
|
assert !session.remember_me?
|
57
|
-
|
81
|
+
|
58
82
|
session.remember_me = false
|
59
83
|
assert_equal false, session.remember_me
|
60
84
|
assert !session.remember_me?
|
61
|
-
|
85
|
+
|
62
86
|
session.remember_me = true
|
63
87
|
assert_equal true, session.remember_me
|
64
88
|
assert session.remember_me?
|
65
|
-
|
89
|
+
|
66
90
|
session.remember_me = nil
|
67
91
|
assert_nil session.remember_me
|
68
92
|
assert !session.remember_me?
|
69
|
-
|
93
|
+
|
70
94
|
session.remember_me = "1"
|
71
95
|
assert_equal "1", session.remember_me
|
72
96
|
assert session.remember_me?
|
73
|
-
|
97
|
+
|
74
98
|
session.remember_me = "true"
|
75
99
|
assert_equal "true", session.remember_me
|
76
100
|
assert session.remember_me?
|
77
101
|
end
|
78
|
-
|
102
|
+
|
79
103
|
def test_remember_me_until
|
80
104
|
session = UserSession.new
|
81
105
|
assert_nil session.remember_me_until
|
82
|
-
|
106
|
+
|
83
107
|
session.remember_me = true
|
84
108
|
assert 3.months.from_now <= session.remember_me_until
|
85
109
|
end
|
86
|
-
|
110
|
+
|
87
111
|
def test_persist_persist_by_cookie
|
88
112
|
ben = users(:ben)
|
89
113
|
assert !UserSession.find
|
@@ -91,16 +115,14 @@ module SessionTest
|
|
91
115
|
assert session = UserSession.find
|
92
116
|
assert_equal ben, session.record
|
93
117
|
end
|
94
|
-
|
118
|
+
|
95
119
|
def test_after_save_save_cookie
|
96
120
|
ben = users(:ben)
|
97
121
|
session = UserSession.new(ben)
|
98
122
|
assert session.save
|
99
|
-
debugger
|
100
123
|
assert_equal "#{ben.persistence_token}::#{ben.id}", controller.cookies["user_credentials"]
|
101
|
-
assert_equal nil, controller.cookies["httponly"]
|
102
124
|
end
|
103
|
-
|
125
|
+
|
104
126
|
def test_after_destroy_destroy_cookie
|
105
127
|
ben = users(:ben)
|
106
128
|
set_cookie_for(ben)
|
data/test/test_helper.rb
CHANGED
@@ -1,27 +1,11 @@
|
|
1
1
|
require "test/unit"
|
2
2
|
require "rubygems"
|
3
|
+
require "ruby-debug"
|
3
4
|
require "active_record"
|
4
5
|
require "active_record/fixtures"
|
5
6
|
|
6
|
-
#
|
7
|
-
|
8
|
-
unless defined?(::ActiveModel.version)
|
9
|
-
class ActiveRecord::Errors
|
10
|
-
def [](key)
|
11
|
-
value = on(key)
|
12
|
-
value.is_a?(Array) ? value : [value].compact
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
|
18
|
-
ActiveRecord::Schema.verbose = false
|
19
|
-
|
20
|
-
begin
|
21
|
-
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
|
22
|
-
rescue ArgumentError
|
23
|
-
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :dbfile => ":memory:")
|
24
|
-
end
|
7
|
+
#ActiveRecord::Schema.verbose = false
|
8
|
+
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
|
25
9
|
|
26
10
|
ActiveRecord::Base.configurations = true
|
27
11
|
ActiveRecord::Schema.define(:version => 1) do
|
metadata
CHANGED
@@ -1,94 +1,50 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: authlogic
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 3.0.0
|
5
6
|
platform: ruby
|
6
|
-
authors:
|
7
|
-
- Ben Johnson
|
7
|
+
authors:
|
8
|
+
- Ben Johnson of Binary Logic
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
12
|
+
|
13
|
+
date: 2011-04-30 00:00:00 -04:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
14
17
|
name: activerecord
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
17
21
|
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version:
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 3.0.7
|
20
24
|
type: :runtime
|
21
25
|
prerelease: false
|
22
|
-
version_requirements:
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
name: activesupport
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activerecord
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
31
32
|
- - ~>
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 3.0.7
|
34
35
|
type: :runtime
|
35
36
|
prerelease: false
|
36
|
-
version_requirements:
|
37
|
-
|
38
|
-
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 2.3.0
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ! '>='
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ! '>='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: bcrypt-ruby
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ! '>='
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: sqlite3
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ! '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ! '>='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
description: A clean, simple, and unobtrusive ruby authentication solution.
|
84
|
-
email:
|
85
|
-
- bjohnson@binarylogic.com
|
37
|
+
version_requirements: *id002
|
38
|
+
description:
|
39
|
+
email: bjohnson@binarylogic.com
|
86
40
|
executables: []
|
41
|
+
|
87
42
|
extensions: []
|
88
|
-
|
89
|
-
|
90
|
-
-
|
91
|
-
-
|
43
|
+
|
44
|
+
extra_rdoc_files:
|
45
|
+
- LICENSE
|
46
|
+
- README.rdoc
|
47
|
+
files:
|
92
48
|
- Gemfile
|
93
49
|
- Gemfile.lock
|
94
50
|
- LICENSE
|
@@ -158,6 +114,9 @@ files:
|
|
158
114
|
- lib/authlogic/test_case/mock_logger.rb
|
159
115
|
- lib/authlogic/test_case/mock_request.rb
|
160
116
|
- lib/authlogic/test_case/rails_request_adapter.rb
|
117
|
+
- lib/generators/authlogic/USAGE
|
118
|
+
- lib/generators/authlogic/session_generator.rb
|
119
|
+
- lib/generators/authlogic/templates/session.rb
|
161
120
|
- rails/init.rb
|
162
121
|
- shoulda_macros/authlogic.rb
|
163
122
|
- test/acts_as_authentic_test/base_test.rb
|
@@ -214,30 +173,38 @@ files:
|
|
214
173
|
- test/session_test/unauthorized_record_test.rb
|
215
174
|
- test/session_test/validation_test.rb
|
216
175
|
- test/test_helper.rb
|
176
|
+
has_rdoc: true
|
217
177
|
homepage: http://github.com/binarylogic/authlogic
|
218
178
|
licenses: []
|
219
|
-
|
179
|
+
|
220
180
|
post_install_message:
|
221
181
|
rdoc_options: []
|
222
|
-
|
182
|
+
|
183
|
+
require_paths:
|
223
184
|
- lib
|
224
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
185
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
187
|
+
requirements:
|
188
|
+
- - ">="
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
hash: -2697218861956486539
|
191
|
+
segments:
|
192
|
+
- 0
|
193
|
+
version: "0"
|
194
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
|
+
none: false
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: "0"
|
234
200
|
requirements: []
|
201
|
+
|
235
202
|
rubyforge_project:
|
236
|
-
rubygems_version:
|
203
|
+
rubygems_version: 1.5.2
|
237
204
|
signing_key:
|
238
|
-
specification_version:
|
205
|
+
specification_version: 3
|
239
206
|
summary: A clean, simple, and unobtrusive ruby authentication solution.
|
240
|
-
test_files:
|
207
|
+
test_files:
|
241
208
|
- test/acts_as_authentic_test/base_test.rb
|
242
209
|
- test/acts_as_authentic_test/email_test.rb
|
243
210
|
- test/acts_as_authentic_test/logged_in_status_test.rb
|
@@ -255,10 +222,6 @@ test_files:
|
|
255
222
|
- test/crypto_provider_test/sha1_test.rb
|
256
223
|
- test/crypto_provider_test/sha256_test.rb
|
257
224
|
- test/crypto_provider_test/sha512_test.rb
|
258
|
-
- test/fixtures/companies.yml
|
259
|
-
- test/fixtures/employees.yml
|
260
|
-
- test/fixtures/projects.yml
|
261
|
-
- test/fixtures/users.yml
|
262
225
|
- test/i18n_test.rb
|
263
226
|
- test/libs/affiliate.rb
|
264
227
|
- test/libs/company.rb
|