authlogic 3.0.3 → 3.1.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 +1 -0
- data/Gemfile.lock +23 -20
- data/VERSION.yml +4 -4
- data/authlogic.gemspec +5 -57
- data/lib/authlogic/acts_as_authentic/password.rb +2 -2
- data/lib/authlogic/i18n.rb +1 -0
- data/lib/authlogic/session/callbacks.rb +5 -8
- data/lib/authlogic/session/cookies.rb +2 -2
- data/lib/authlogic/session/http_auth.rb +1 -1
- data/lib/authlogic/session/klass.rb +11 -20
- data/test/libs/user_session.rb +0 -1
- data/test/session_test/callbacks_test.rb +48 -0
- data/test/session_test/cookies_test.rb +18 -18
- data/test/session_test/http_auth_test.rb +1 -0
- data/test/session_test/klass_test.rb +7 -7
- metadata +35 -93
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,30 +1,32 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activemodel (3.
|
5
|
-
activesupport (= 3.
|
6
|
-
builder (~>
|
7
|
-
i18n (~> 0.
|
8
|
-
activerecord (3.
|
9
|
-
activemodel (= 3.
|
10
|
-
activesupport (= 3.
|
11
|
-
arel (~> 2.
|
12
|
-
tzinfo (~> 0.3.
|
13
|
-
activesupport (3.
|
4
|
+
activemodel (3.1.1)
|
5
|
+
activesupport (= 3.1.1)
|
6
|
+
builder (~> 3.0.0)
|
7
|
+
i18n (~> 0.6)
|
8
|
+
activerecord (3.1.1)
|
9
|
+
activemodel (= 3.1.1)
|
10
|
+
activesupport (= 3.1.1)
|
11
|
+
arel (~> 2.2.1)
|
12
|
+
tzinfo (~> 0.3.29)
|
13
|
+
activesupport (3.1.1)
|
14
|
+
multi_json (~> 1.0)
|
14
15
|
archive-tar-minitar (0.5.2)
|
15
|
-
arel (2.
|
16
|
-
bcrypt-ruby (
|
17
|
-
builder (
|
18
|
-
columnize (0.3.
|
16
|
+
arel (2.2.1)
|
17
|
+
bcrypt-ruby (3.0.1)
|
18
|
+
builder (3.0.0)
|
19
|
+
columnize (0.3.4)
|
19
20
|
git (1.2.5)
|
20
|
-
i18n (0.
|
21
|
-
jeweler (1.
|
22
|
-
bundler (~> 1.0
|
21
|
+
i18n (0.6.0)
|
22
|
+
jeweler (1.6.4)
|
23
|
+
bundler (~> 1.0)
|
23
24
|
git (>= 1.2.5)
|
24
25
|
rake
|
25
26
|
linecache19 (0.5.12)
|
26
27
|
ruby_core_source (>= 0.1.4)
|
27
|
-
|
28
|
+
multi_json (1.0.3)
|
29
|
+
rake (0.9.2)
|
28
30
|
ruby-debug-base19 (0.11.25)
|
29
31
|
columnize (>= 0.3.1)
|
30
32
|
linecache19 (>= 0.5.11)
|
@@ -35,8 +37,8 @@ GEM
|
|
35
37
|
ruby-debug-base19 (>= 0.11.19)
|
36
38
|
ruby_core_source (0.1.5)
|
37
39
|
archive-tar-minitar (>= 0.5.2)
|
38
|
-
sqlite3 (1.3.
|
39
|
-
tzinfo (0.3.
|
40
|
+
sqlite3 (1.3.4)
|
41
|
+
tzinfo (0.3.30)
|
40
42
|
|
41
43
|
PLATFORMS
|
42
44
|
ruby
|
@@ -45,5 +47,6 @@ DEPENDENCIES
|
|
45
47
|
activerecord (>= 3.0.7)
|
46
48
|
bcrypt-ruby
|
47
49
|
jeweler
|
50
|
+
rake
|
48
51
|
ruby-debug19
|
49
52
|
sqlite3
|
data/VERSION.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
---
|
1
|
+
---
|
2
2
|
:major: 3
|
3
|
-
:minor:
|
4
|
-
:patch:
|
5
|
-
:build:
|
3
|
+
:minor: 1
|
4
|
+
:patch: 0
|
5
|
+
:build: !!null
|
data/authlogic.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{authlogic}
|
8
|
-
s.version = "3.0
|
8
|
+
s.version = "3.1.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date = %q{2011-
|
11
|
+
s.authors = [%q{Ben Johnson of Binary Logic}]
|
12
|
+
s.date = %q{2011-10-19}
|
13
13
|
s.email = %q{bjohnson@binarylogic.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
@@ -146,61 +146,9 @@ Gem::Specification.new do |s|
|
|
146
146
|
"test/test_helper.rb"
|
147
147
|
]
|
148
148
|
s.homepage = %q{http://github.com/binarylogic/authlogic}
|
149
|
-
s.require_paths = [
|
150
|
-
s.rubygems_version = %q{1.
|
149
|
+
s.require_paths = [%q{lib}]
|
150
|
+
s.rubygems_version = %q{1.8.6}
|
151
151
|
s.summary = %q{A clean, simple, and unobtrusive ruby authentication solution.}
|
152
|
-
s.test_files = [
|
153
|
-
"test/acts_as_authentic_test/base_test.rb",
|
154
|
-
"test/acts_as_authentic_test/email_test.rb",
|
155
|
-
"test/acts_as_authentic_test/logged_in_status_test.rb",
|
156
|
-
"test/acts_as_authentic_test/login_test.rb",
|
157
|
-
"test/acts_as_authentic_test/magic_columns_test.rb",
|
158
|
-
"test/acts_as_authentic_test/password_test.rb",
|
159
|
-
"test/acts_as_authentic_test/perishable_token_test.rb",
|
160
|
-
"test/acts_as_authentic_test/persistence_token_test.rb",
|
161
|
-
"test/acts_as_authentic_test/restful_authentication_test.rb",
|
162
|
-
"test/acts_as_authentic_test/session_maintenance_test.rb",
|
163
|
-
"test/acts_as_authentic_test/single_access_test.rb",
|
164
|
-
"test/authenticates_many_test.rb",
|
165
|
-
"test/crypto_provider_test/aes256_test.rb",
|
166
|
-
"test/crypto_provider_test/bcrypt_test.rb",
|
167
|
-
"test/crypto_provider_test/sha1_test.rb",
|
168
|
-
"test/crypto_provider_test/sha256_test.rb",
|
169
|
-
"test/crypto_provider_test/sha512_test.rb",
|
170
|
-
"test/i18n_test.rb",
|
171
|
-
"test/libs/affiliate.rb",
|
172
|
-
"test/libs/company.rb",
|
173
|
-
"test/libs/employee.rb",
|
174
|
-
"test/libs/employee_session.rb",
|
175
|
-
"test/libs/ldaper.rb",
|
176
|
-
"test/libs/ordered_hash.rb",
|
177
|
-
"test/libs/project.rb",
|
178
|
-
"test/libs/user.rb",
|
179
|
-
"test/libs/user_session.rb",
|
180
|
-
"test/random_test.rb",
|
181
|
-
"test/session_test/activation_test.rb",
|
182
|
-
"test/session_test/active_record_trickery_test.rb",
|
183
|
-
"test/session_test/brute_force_protection_test.rb",
|
184
|
-
"test/session_test/callbacks_test.rb",
|
185
|
-
"test/session_test/cookies_test.rb",
|
186
|
-
"test/session_test/credentials_test.rb",
|
187
|
-
"test/session_test/existence_test.rb",
|
188
|
-
"test/session_test/http_auth_test.rb",
|
189
|
-
"test/session_test/id_test.rb",
|
190
|
-
"test/session_test/klass_test.rb",
|
191
|
-
"test/session_test/magic_columns_test.rb",
|
192
|
-
"test/session_test/magic_states_test.rb",
|
193
|
-
"test/session_test/params_test.rb",
|
194
|
-
"test/session_test/password_test.rb",
|
195
|
-
"test/session_test/perishability_test.rb",
|
196
|
-
"test/session_test/persistence_test.rb",
|
197
|
-
"test/session_test/scopes_test.rb",
|
198
|
-
"test/session_test/session_test.rb",
|
199
|
-
"test/session_test/timeout_test.rb",
|
200
|
-
"test/session_test/unauthorized_record_test.rb",
|
201
|
-
"test/session_test/validation_test.rb",
|
202
|
-
"test/test_helper.rb"
|
203
|
-
]
|
204
152
|
|
205
153
|
if s.respond_to? :specification_version then
|
206
154
|
s.specification_version = 3
|
@@ -243,7 +243,7 @@ module Authlogic
|
|
243
243
|
end
|
244
244
|
|
245
245
|
# Accepts a raw password to determine if it is the correct password or not. Notice the second argument. That defaults to the value of
|
246
|
-
# check_passwords_against_database. See that method for
|
246
|
+
# check_passwords_against_database. See that method for more information, but basically it just tells Authlogic to check the password
|
247
247
|
# against the value in the database or the value in the object.
|
248
248
|
def valid_password?(attempted_password, check_against_database = check_passwords_against_database?)
|
249
249
|
crypted = check_against_database && send("#{crypted_password_field}_changed?") ? send("#{crypted_password_field}_was") : send(crypted_password_field)
|
@@ -352,4 +352,4 @@ module Authlogic
|
|
352
352
|
end
|
353
353
|
end
|
354
354
|
end
|
355
|
-
end
|
355
|
+
end
|
data/lib/authlogic/i18n.rb
CHANGED
@@ -40,6 +40,7 @@ module Authlogic
|
|
40
40
|
# not_confirmed: Your account is not confirmed
|
41
41
|
# not_approved: Your account is not approved
|
42
42
|
# no_authentication_details: You did not provide any details for authentication.
|
43
|
+
# general_credentials_error: Login/Password combination is not valid
|
43
44
|
# models:
|
44
45
|
# user_session: UserSession (or whatever name you are using)
|
45
46
|
# attributes:
|
@@ -63,10 +63,11 @@ module Authlogic
|
|
63
63
|
|
64
64
|
def self.included(base) #:nodoc:
|
65
65
|
base.send :include, ActiveSupport::Callbacks
|
66
|
-
base.define_callbacks *METHODS
|
67
|
-
|
66
|
+
base.define_callbacks *METHODS + [{:terminator => 'result == false'}]
|
67
|
+
base.define_callbacks *['persist', {:terminator => 'result == true'}]
|
68
|
+
|
68
69
|
# If Rails 3, support the new callback syntax
|
69
|
-
if base.
|
70
|
+
if base.singleton_class.method_defined?(:set_callback)
|
70
71
|
METHODS.each do |method|
|
71
72
|
base.class_eval <<-"end_eval", __FILE__, __LINE__
|
72
73
|
def self.#{method}(*methods, &block)
|
@@ -81,14 +82,10 @@ module Authlogic
|
|
81
82
|
METHODS.each do |method|
|
82
83
|
class_eval <<-"end_eval", __FILE__, __LINE__
|
83
84
|
def #{method}
|
84
|
-
run_callbacks(:#{method})
|
85
|
+
run_callbacks(:#{method})
|
85
86
|
end
|
86
87
|
end_eval
|
87
88
|
end
|
88
|
-
|
89
|
-
def persist
|
90
|
-
run_callbacks(:persist) { |result, object| result == true }
|
91
|
-
end
|
92
89
|
|
93
90
|
def save_record(alternate_record = nil)
|
94
91
|
r = alternate_record || record
|
@@ -23,10 +23,10 @@ module Authlogic
|
|
23
23
|
# session = UserSession.new(:super_high_secret)
|
24
24
|
# session.cookie_key => "super_high_secret_user_credentials"
|
25
25
|
#
|
26
|
-
# * <tt>Default:</tt> "#{
|
26
|
+
# * <tt>Default:</tt> "#{klass_name.underscore}_credentials"
|
27
27
|
# * <tt>Accepts:</tt> String
|
28
28
|
def cookie_key(value = nil)
|
29
|
-
rw_config(:cookie_key, value, "#{
|
29
|
+
rw_config(:cookie_key, value, "#{klass_name.underscore}_credentials")
|
30
30
|
end
|
31
31
|
alias_method :cookie_key=, :cookie_key
|
32
32
|
|
@@ -6,13 +6,13 @@ module Authlogic
|
|
6
6
|
klass.class_eval do
|
7
7
|
extend Config
|
8
8
|
include InstanceMethods
|
9
|
-
|
9
|
+
|
10
10
|
class << self
|
11
11
|
attr_accessor :configured_klass_methods
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
module Config
|
17
17
|
# Lets you change which model to use for authentication.
|
18
18
|
#
|
@@ -23,31 +23,22 @@ module Authlogic
|
|
23
23
|
@klass = klass
|
24
24
|
end
|
25
25
|
alias_method :authenticate_with=, :authenticate_with
|
26
|
-
|
26
|
+
|
27
27
|
# The name of the class that this session is authenticating with. For example, the UserSession class will
|
28
28
|
# authenticate with the User class unless you specify otherwise in your configuration. See authenticate_with
|
29
29
|
# for information on how to change this value.
|
30
30
|
def klass
|
31
|
-
@klass ||=
|
32
|
-
if klass_name
|
33
|
-
klass_name.constantize
|
34
|
-
else
|
35
|
-
nil
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
# Same as klass, just returns a string instead of the actual constant.
|
40
|
-
def klass_name
|
41
|
-
@klass_name ||= guessed_klass_name
|
31
|
+
@klass ||= klass_name ? klass_name.constantize : nil
|
42
32
|
end
|
43
|
-
|
33
|
+
|
44
34
|
# The string of the model name class guessed from the actual session class name.
|
45
|
-
def
|
46
|
-
|
47
|
-
|
35
|
+
def klass_name
|
36
|
+
return @klass_name if defined?(@klass_name)
|
37
|
+
@klass_name = name.scan(/(.*)Session/)[0]
|
38
|
+
@klass_name = klass_name ? klass_name[0] : nil
|
48
39
|
end
|
49
40
|
end
|
50
|
-
|
41
|
+
|
51
42
|
module InstanceMethods
|
52
43
|
# Creating an alias method for the "record" method based on the klass name, so that we can do:
|
53
44
|
#
|
@@ -63,7 +54,7 @@ module Authlogic
|
|
63
54
|
end
|
64
55
|
super
|
65
56
|
end
|
66
|
-
|
57
|
+
|
67
58
|
private
|
68
59
|
def klass
|
69
60
|
self.class.klass
|
data/test/libs/user_session.rb
CHANGED
@@ -1,6 +1,54 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
+
class WackyUserSession < Authlogic::Session::Base
|
4
|
+
attr_accessor :counter
|
5
|
+
authenticate_with User
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@counter = 0
|
9
|
+
super
|
10
|
+
end
|
11
|
+
|
12
|
+
def persist_by_false
|
13
|
+
self.counter += 1
|
14
|
+
return false
|
15
|
+
end
|
16
|
+
|
17
|
+
def persist_by_true
|
18
|
+
self.counter += 1
|
19
|
+
return true
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
3
23
|
module SessionTest
|
4
24
|
class CallbacksTest < ActiveSupport::TestCase
|
25
|
+
def setup
|
26
|
+
WackyUserSession.reset_callbacks(:persist)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_no_callbacks
|
30
|
+
assert_equal [], WackyUserSession._persist_callbacks.map(&:filter)
|
31
|
+
session = WackyUserSession.new
|
32
|
+
session.send(:persist)
|
33
|
+
assert_equal 0, session.counter
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_true_callback_cancelling_later_callbacks
|
37
|
+
WackyUserSession.persist :persist_by_true, :persist_by_false
|
38
|
+
assert_equal [:persist_by_true, :persist_by_false], WackyUserSession._persist_callbacks.map(&:filter)
|
39
|
+
|
40
|
+
session = WackyUserSession.new
|
41
|
+
session.send(:persist)
|
42
|
+
assert_equal 1, session.counter
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_false_callback_continuing_to_later_callbacks
|
46
|
+
WackyUserSession.persist :persist_by_false, :persist_by_true
|
47
|
+
assert_equal [:persist_by_false, :persist_by_true], WackyUserSession._persist_callbacks.map(&:filter)
|
48
|
+
|
49
|
+
session = WackyUserSession.new
|
50
|
+
session.send(:persist)
|
51
|
+
assert_equal 2, session.counter
|
52
|
+
end
|
5
53
|
end
|
6
54
|
end
|
@@ -6,35 +6,35 @@ 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
|
@@ -66,48 +66,48 @@ module SessionTest
|
|
66
66
|
assert_equal false, session.httponly
|
67
67
|
end
|
68
68
|
end
|
69
|
-
|
69
|
+
|
70
70
|
class InstanceMethodsTest < ActiveSupport::TestCase
|
71
71
|
def test_credentials
|
72
72
|
session = UserSession.new
|
73
73
|
session.credentials = {:remember_me => true}
|
74
74
|
assert_equal true, session.remember_me
|
75
75
|
end
|
76
|
-
|
76
|
+
|
77
77
|
def test_remember_me
|
78
78
|
session = UserSession.new
|
79
79
|
assert_equal false, session.remember_me
|
80
80
|
assert !session.remember_me?
|
81
|
-
|
81
|
+
|
82
82
|
session.remember_me = false
|
83
83
|
assert_equal false, session.remember_me
|
84
84
|
assert !session.remember_me?
|
85
|
-
|
85
|
+
|
86
86
|
session.remember_me = true
|
87
87
|
assert_equal true, session.remember_me
|
88
88
|
assert session.remember_me?
|
89
|
-
|
89
|
+
|
90
90
|
session.remember_me = nil
|
91
91
|
assert_nil session.remember_me
|
92
92
|
assert !session.remember_me?
|
93
|
-
|
93
|
+
|
94
94
|
session.remember_me = "1"
|
95
95
|
assert_equal "1", session.remember_me
|
96
96
|
assert session.remember_me?
|
97
|
-
|
97
|
+
|
98
98
|
session.remember_me = "true"
|
99
99
|
assert_equal "true", session.remember_me
|
100
100
|
assert session.remember_me?
|
101
101
|
end
|
102
|
-
|
102
|
+
|
103
103
|
def test_remember_me_until
|
104
104
|
session = UserSession.new
|
105
105
|
assert_nil session.remember_me_until
|
106
|
-
|
106
|
+
|
107
107
|
session.remember_me = true
|
108
108
|
assert 3.months.from_now <= session.remember_me_until
|
109
109
|
end
|
110
|
-
|
110
|
+
|
111
111
|
def test_persist_persist_by_cookie
|
112
112
|
ben = users(:ben)
|
113
113
|
assert !UserSession.find
|
@@ -115,14 +115,14 @@ module SessionTest
|
|
115
115
|
assert session = UserSession.find
|
116
116
|
assert_equal ben, session.record
|
117
117
|
end
|
118
|
-
|
118
|
+
|
119
119
|
def test_after_save_save_cookie
|
120
120
|
ben = users(:ben)
|
121
121
|
session = UserSession.new(ben)
|
122
122
|
assert session.save
|
123
123
|
assert_equal "#{ben.persistence_token}::#{ben.id}", controller.cookies["user_credentials"]
|
124
124
|
end
|
125
|
-
|
125
|
+
|
126
126
|
def test_after_destroy_destroy_cookie
|
127
127
|
ben = users(:ben)
|
128
128
|
set_cookie_for(ben)
|
@@ -40,6 +40,7 @@ module SessionTest
|
|
40
40
|
assert_equal "benrocks", session.send(:protected_password)
|
41
41
|
assert !controller.http_auth_requested?
|
42
42
|
end
|
43
|
+
unset_session
|
43
44
|
UserSession.request_http_basic_auth = true
|
44
45
|
UserSession.http_basic_auth_realm = 'PersistTestRealm'
|
45
46
|
http_basic_auth_for(ben) do
|
@@ -7,12 +7,12 @@ module SessionTest
|
|
7
7
|
UserSession.authenticate_with = Employee
|
8
8
|
assert_equal "Employee", UserSession.klass_name
|
9
9
|
assert_equal Employee, UserSession.klass
|
10
|
-
|
10
|
+
|
11
11
|
UserSession.authenticate_with User
|
12
12
|
assert_equal "User", UserSession.klass_name
|
13
13
|
assert_equal User, UserSession.klass
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
def test_klass
|
17
17
|
assert_equal User, UserSession.klass
|
18
18
|
end
|
@@ -20,13 +20,13 @@ module SessionTest
|
|
20
20
|
def test_klass_name
|
21
21
|
assert_equal "User", UserSession.klass_name
|
22
22
|
end
|
23
|
-
|
24
|
-
def
|
25
|
-
assert_equal "User", UserSession.
|
26
|
-
assert_equal "BackOfficeUser", BackOfficeUserSession.
|
23
|
+
|
24
|
+
def test_klass_name_uses_custom_name
|
25
|
+
assert_equal "User", UserSession.klass_name
|
26
|
+
assert_equal "BackOfficeUser", BackOfficeUserSession.klass_name
|
27
27
|
end
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
class InstanceMethodsTest < ActiveSupport::TestCase
|
31
31
|
def test_record_method
|
32
32
|
ben = users(:ben)
|
metadata
CHANGED
@@ -1,50 +1,46 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: authlogic
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.1.0
|
4
5
|
prerelease:
|
5
|
-
version: 3.0.3
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Ben Johnson of Binary Logic
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-10-19 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: activerecord
|
18
|
-
requirement: &
|
16
|
+
requirement: &70092428968260 !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
21
|
-
- -
|
22
|
-
- !ruby/object:Gem::Version
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
23
21
|
version: 3.0.7
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
|
-
version_requirements: *
|
27
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *70092428968260
|
25
|
+
- !ruby/object:Gem::Dependency
|
28
26
|
name: activerecord
|
29
|
-
requirement: &
|
27
|
+
requirement: &70092428967600 !ruby/object:Gem::Requirement
|
30
28
|
none: false
|
31
|
-
requirements:
|
32
|
-
- -
|
33
|
-
- !ruby/object:Gem::Version
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
34
32
|
version: 3.0.7
|
35
33
|
type: :runtime
|
36
34
|
prerelease: false
|
37
|
-
version_requirements: *
|
35
|
+
version_requirements: *70092428967600
|
38
36
|
description:
|
39
37
|
email: bjohnson@binarylogic.com
|
40
38
|
executables: []
|
41
|
-
|
42
39
|
extensions: []
|
43
|
-
|
44
|
-
extra_rdoc_files:
|
40
|
+
extra_rdoc_files:
|
45
41
|
- LICENSE
|
46
42
|
- README.rdoc
|
47
|
-
files:
|
43
|
+
files:
|
48
44
|
- Gemfile
|
49
45
|
- Gemfile.lock
|
50
46
|
- LICENSE
|
@@ -173,85 +169,31 @@ files:
|
|
173
169
|
- test/session_test/unauthorized_record_test.rb
|
174
170
|
- test/session_test/validation_test.rb
|
175
171
|
- test/test_helper.rb
|
176
|
-
has_rdoc: true
|
177
172
|
homepage: http://github.com/binarylogic/authlogic
|
178
173
|
licenses: []
|
179
|
-
|
180
174
|
post_install_message:
|
181
175
|
rdoc_options: []
|
182
|
-
|
183
|
-
require_paths:
|
176
|
+
require_paths:
|
184
177
|
- lib
|
185
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
178
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
186
179
|
none: false
|
187
|
-
requirements:
|
188
|
-
- -
|
189
|
-
- !ruby/object:Gem::Version
|
190
|
-
|
191
|
-
segments:
|
180
|
+
requirements:
|
181
|
+
- - ! '>='
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
184
|
+
segments:
|
192
185
|
- 0
|
193
|
-
|
194
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
|
+
hash: 3222304498311125982
|
187
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
188
|
none: false
|
196
|
-
requirements:
|
197
|
-
- -
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version:
|
189
|
+
requirements:
|
190
|
+
- - ! '>='
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0'
|
200
193
|
requirements: []
|
201
|
-
|
202
194
|
rubyforge_project:
|
203
|
-
rubygems_version: 1.
|
195
|
+
rubygems_version: 1.8.6
|
204
196
|
signing_key:
|
205
197
|
specification_version: 3
|
206
198
|
summary: A clean, simple, and unobtrusive ruby authentication solution.
|
207
|
-
test_files:
|
208
|
-
- test/acts_as_authentic_test/base_test.rb
|
209
|
-
- test/acts_as_authentic_test/email_test.rb
|
210
|
-
- test/acts_as_authentic_test/logged_in_status_test.rb
|
211
|
-
- test/acts_as_authentic_test/login_test.rb
|
212
|
-
- test/acts_as_authentic_test/magic_columns_test.rb
|
213
|
-
- test/acts_as_authentic_test/password_test.rb
|
214
|
-
- test/acts_as_authentic_test/perishable_token_test.rb
|
215
|
-
- test/acts_as_authentic_test/persistence_token_test.rb
|
216
|
-
- test/acts_as_authentic_test/restful_authentication_test.rb
|
217
|
-
- test/acts_as_authentic_test/session_maintenance_test.rb
|
218
|
-
- test/acts_as_authentic_test/single_access_test.rb
|
219
|
-
- test/authenticates_many_test.rb
|
220
|
-
- test/crypto_provider_test/aes256_test.rb
|
221
|
-
- test/crypto_provider_test/bcrypt_test.rb
|
222
|
-
- test/crypto_provider_test/sha1_test.rb
|
223
|
-
- test/crypto_provider_test/sha256_test.rb
|
224
|
-
- test/crypto_provider_test/sha512_test.rb
|
225
|
-
- test/i18n_test.rb
|
226
|
-
- test/libs/affiliate.rb
|
227
|
-
- test/libs/company.rb
|
228
|
-
- test/libs/employee.rb
|
229
|
-
- test/libs/employee_session.rb
|
230
|
-
- test/libs/ldaper.rb
|
231
|
-
- test/libs/ordered_hash.rb
|
232
|
-
- test/libs/project.rb
|
233
|
-
- test/libs/user.rb
|
234
|
-
- test/libs/user_session.rb
|
235
|
-
- test/random_test.rb
|
236
|
-
- test/session_test/activation_test.rb
|
237
|
-
- test/session_test/active_record_trickery_test.rb
|
238
|
-
- test/session_test/brute_force_protection_test.rb
|
239
|
-
- test/session_test/callbacks_test.rb
|
240
|
-
- test/session_test/cookies_test.rb
|
241
|
-
- test/session_test/credentials_test.rb
|
242
|
-
- test/session_test/existence_test.rb
|
243
|
-
- test/session_test/http_auth_test.rb
|
244
|
-
- test/session_test/id_test.rb
|
245
|
-
- test/session_test/klass_test.rb
|
246
|
-
- test/session_test/magic_columns_test.rb
|
247
|
-
- test/session_test/magic_states_test.rb
|
248
|
-
- test/session_test/params_test.rb
|
249
|
-
- test/session_test/password_test.rb
|
250
|
-
- test/session_test/perishability_test.rb
|
251
|
-
- test/session_test/persistence_test.rb
|
252
|
-
- test/session_test/scopes_test.rb
|
253
|
-
- test/session_test/session_test.rb
|
254
|
-
- test/session_test/timeout_test.rb
|
255
|
-
- test/session_test/unauthorized_record_test.rb
|
256
|
-
- test/session_test/validation_test.rb
|
257
|
-
- test/test_helper.rb
|
199
|
+
test_files: []
|