authn 2.0.1 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -3
- data/authn.gemspec +2 -2
- data/lib/authn/config.rb +2 -3
- data/lib/authn/session.rb +1 -1
- data/lib/authn/version.rb +1 -1
- data/lib/authn.rb +1 -0
- data/test/helper.rb +1 -3
- data/test/lib/authn/session_test.rb +21 -20
- data/test/lib/authn/version_test.rb +1 -5
- data/test/lib/authn_test.rb +0 -4
- metadata +6 -6
data/README.md
CHANGED
@@ -40,7 +40,6 @@ class Account < ActiveRecord::Base
|
|
40
40
|
validates :password, length: 10..1024
|
41
41
|
|
42
42
|
attr_accessible :email
|
43
|
-
attr_accessible :password, :password_confirmation
|
44
43
|
end
|
45
44
|
```
|
46
45
|
|
@@ -79,7 +78,7 @@ class Account < ActiveRecord::Base
|
|
79
78
|
|
80
79
|
has_authentication
|
81
80
|
has_password_recovery mailer: PasswordRecoveryMailer
|
82
|
-
has_activation mailer: ActivationMailer, on_create: false
|
81
|
+
has_activation mailer: "ActivationMailer", on_create: false
|
83
82
|
has_login_protection maximum: 3, redirect: { controller: :accounts, action: :maximum_login_failure }
|
84
83
|
has_secure_password
|
85
84
|
|
@@ -87,7 +86,6 @@ class Account < ActiveRecord::Base
|
|
87
86
|
validates :password, length: 10..1024
|
88
87
|
|
89
88
|
attr_accessible :email
|
90
|
-
attr_accessible :password, :password_confirmation
|
91
89
|
end
|
92
90
|
```
|
93
91
|
|
data/authn.gemspec
CHANGED
@@ -7,10 +7,10 @@ Gem::Specification.new do |gem|
|
|
7
7
|
gem.name = "authn"
|
8
8
|
gem.version = AuthN::VERSION
|
9
9
|
gem.authors = ["Kurtis Rainbolt-Greene"]
|
10
|
-
gem.email = ["kurtisrainboltgreene
|
10
|
+
gem.email = ["me@kurtisrainboltgreene.name"]
|
11
11
|
gem.summary = %q{An incredibly bare bones authentication library}
|
12
12
|
gem.description = gem.summary
|
13
|
-
gem.homepage = "http://github.com/
|
13
|
+
gem.homepage = "http://krainboltgreene.github.com/authn"
|
14
14
|
|
15
15
|
gem.files = `git ls-files`.split($/)
|
16
16
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
data/lib/authn/config.rb
CHANGED
@@ -3,11 +3,10 @@ module AuthN
|
|
3
3
|
@config ||= Config.new Config::DEFAULTS
|
4
4
|
end
|
5
5
|
|
6
|
-
class Config
|
7
|
-
include AltStruct::M
|
6
|
+
class Config < AltStruct
|
8
7
|
DEFAULTS = {
|
9
|
-
account_klass: :Account,
|
10
8
|
password_digest_method: :password_digest,
|
9
|
+
account_klass: "Account",
|
11
10
|
login_password_key: :password,
|
12
11
|
model_id_method: :id,
|
13
12
|
model_critera_method: :where,
|
data/lib/authn/session.rb
CHANGED
@@ -21,7 +21,7 @@ module AuthN
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def current_user(klass = AuthN.config.account_klass)
|
24
|
-
@current_user ||= get_session klass_as_name klass
|
24
|
+
@current_user ||= get_session klass_as_name find_instance_klass klass
|
25
25
|
end
|
26
26
|
|
27
27
|
alias_method :current_account, :current_user
|
data/lib/authn/version.rb
CHANGED
data/lib/authn.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -5,39 +5,40 @@ class TestAuthNSession < MiniTest::Unit::TestCase
|
|
5
5
|
def setup
|
6
6
|
AuthN.config.account_klass = :Account
|
7
7
|
Account.password "12341234"
|
8
|
-
Controller.
|
8
|
+
@controller = Controller.new
|
9
|
+
@controller.session = {}
|
9
10
|
end
|
10
11
|
|
11
12
|
# def login(identifiers, password, klass = AuthN.config.account_klass)
|
12
13
|
# generate_session_and_instance_from klass.authenticate identifiers, password
|
13
14
|
# end
|
14
15
|
def test_that_login_returns_account_given_good_credentials
|
15
|
-
instance =
|
16
|
+
instance = @controller.login email: "kurtis@example.com", password: "12341234"
|
16
17
|
actual = instance.class
|
17
18
|
expected = Account
|
18
19
|
assert_equal expected, actual
|
19
20
|
end
|
20
21
|
|
21
22
|
def test_that_login_returns_false_if_bad_password
|
22
|
-
actual =
|
23
|
+
actual = @controller.login email: "kurtis@example.com", password: "12341233"
|
23
24
|
expected = false
|
24
25
|
assert_equal expected, actual
|
25
26
|
end
|
26
27
|
|
27
28
|
def test_that_login_returns_nil_if_no_account_found
|
28
|
-
actual =
|
29
|
+
actual = @controller.login email: "kurti@example.com", password: "12341234"
|
29
30
|
expected = nil
|
30
31
|
assert_equal expected, actual
|
31
32
|
end
|
32
33
|
|
33
34
|
def test_that_login_sets_session
|
34
|
-
|
35
|
-
assert
|
35
|
+
@controller.login email: "kurtis@example.com", password: "12341234"
|
36
|
+
assert @controller.session[:session_account_id]
|
36
37
|
end
|
37
38
|
|
38
39
|
def test_that_login_stores_session_account_id
|
39
|
-
instance =
|
40
|
-
actual =
|
40
|
+
instance = @controller.login email: "kurtis@example.com", password: "12341234"
|
41
|
+
actual = @controller.session[:session_account_id]
|
41
42
|
expected = instance.id
|
42
43
|
assert_equal expected, actual
|
43
44
|
end
|
@@ -46,20 +47,20 @@ class TestAuthNSession < MiniTest::Unit::TestCase
|
|
46
47
|
# instance_and_session instance
|
47
48
|
# end
|
48
49
|
def test_that_auto_login_returns_instance
|
49
|
-
instance =
|
50
|
+
instance = @controller.auto_login Account.new
|
50
51
|
actual = instance.class
|
51
52
|
expected = Account
|
52
53
|
assert_equal expected, actual
|
53
54
|
end
|
54
55
|
|
55
56
|
def test_that_auto_login_sets_session
|
56
|
-
|
57
|
-
assert
|
57
|
+
@controller.auto_login Account.new
|
58
|
+
assert @controller.session.has_key? :session_account_id
|
58
59
|
end
|
59
60
|
|
60
61
|
def test_that_auto_login_stores_session_account_id
|
61
|
-
instance =
|
62
|
-
actual =
|
62
|
+
instance = @controller.auto_login Account.new
|
63
|
+
actual = @controller.session[:session_account_id]
|
63
64
|
expected = instance.id
|
64
65
|
assert_equal expected, actual
|
65
66
|
end
|
@@ -71,15 +72,15 @@ class TestAuthNSession < MiniTest::Unit::TestCase
|
|
71
72
|
# end
|
72
73
|
|
73
74
|
def test_that_logged_in_returns_true_if_logged_in
|
74
|
-
|
75
|
-
actual =
|
75
|
+
@controller.login email: "kurtis@example.com", password: "12341234"
|
76
|
+
actual = @controller.logged_in?
|
76
77
|
expected = true
|
77
78
|
assert_equal expected, actual
|
78
79
|
end
|
79
80
|
|
80
81
|
def test_that_logged_in_returns_false_if_not_logged_in
|
81
|
-
|
82
|
-
actual =
|
82
|
+
@controller.session
|
83
|
+
actual = @controller.logged_in?
|
83
84
|
expected = false
|
84
85
|
assert_equal expected, actual
|
85
86
|
end
|
@@ -91,8 +92,8 @@ class TestAuthNSession < MiniTest::Unit::TestCase
|
|
91
92
|
# end
|
92
93
|
|
93
94
|
def test_that_logout_empties_the_session
|
94
|
-
|
95
|
-
|
96
|
-
refute
|
95
|
+
@controller.login email: "kurtis@example.com", password: "12341234"
|
96
|
+
@controller.logout
|
97
|
+
refute @controller.session.has_key? :session_account_id
|
97
98
|
end
|
98
99
|
end
|
@@ -2,11 +2,7 @@ require 'minitest/autorun'
|
|
2
2
|
require_relative '../../helper'
|
3
3
|
|
4
4
|
class TestAuthNVersion < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
# Setup logic here
|
7
|
-
end
|
8
|
-
|
9
5
|
def test_that_version_is_latest
|
10
|
-
assert_equal "
|
6
|
+
assert_equal "2.4.0", AuthN::VERSION
|
11
7
|
end
|
12
8
|
end
|
data/test/lib/authn_test.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|
@@ -93,7 +93,7 @@ dependencies:
|
|
93
93
|
version: '0'
|
94
94
|
description: An incredibly bare bones authentication library
|
95
95
|
email:
|
96
|
-
- kurtisrainboltgreene
|
96
|
+
- me@kurtisrainboltgreene.name
|
97
97
|
executables: []
|
98
98
|
extensions: []
|
99
99
|
extra_rdoc_files: []
|
@@ -118,7 +118,7 @@ files:
|
|
118
118
|
- test/lib/authn/session_test.rb
|
119
119
|
- test/lib/authn/version_test.rb
|
120
120
|
- test/lib/authn_test.rb
|
121
|
-
homepage: http://github.com/
|
121
|
+
homepage: http://krainboltgreene.github.com/authn
|
122
122
|
licenses: []
|
123
123
|
post_install_message:
|
124
124
|
rdoc_options: []
|
@@ -132,7 +132,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
132
|
version: '0'
|
133
133
|
segments:
|
134
134
|
- 0
|
135
|
-
hash:
|
135
|
+
hash: 2678869267231838865
|
136
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
137
|
none: false
|
138
138
|
requirements:
|
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
141
|
version: '0'
|
142
142
|
segments:
|
143
143
|
- 0
|
144
|
-
hash:
|
144
|
+
hash: 2678869267231838865
|
145
145
|
requirements: []
|
146
146
|
rubyforge_project:
|
147
147
|
rubygems_version: 1.8.24
|