hassox-warden 0.3.0 → 0.3.1
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/README.textile +2 -1
- data/VERSION +1 -1
- data/lib/warden/proxy.rb +7 -1
- data/spec/helpers/request_helper.rb +1 -1
- data/spec/warden/manager_spec.rb +1 -1
- data/spec/warden/proxy_spec.rb +23 -1
- data/warden.gemspec +3 -3
- metadata +4 -3
data/README.textile
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
Please see the "Warden Wiki":http://wiki.github.com/hassox/warden for overview documentation.
|
1
|
+
Please see the "Warden Wiki":http://wiki.github.com/hassox/warden for overview documentation.
|
2
|
+
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/lib/warden/proxy.rb
CHANGED
@@ -14,7 +14,7 @@ module Warden
|
|
14
14
|
alias_method :_session, :session
|
15
15
|
|
16
16
|
# :api: private
|
17
|
-
def_delegators :winning_strategy, :headers, :
|
17
|
+
def_delegators :winning_strategy, :headers, :_status, :custom_response
|
18
18
|
|
19
19
|
def initialize(env, config = {}) # :nodoc:
|
20
20
|
@env = env
|
@@ -155,6 +155,12 @@ module Warden
|
|
155
155
|
winning_strategy.nil? ? nil : winning_strategy.result
|
156
156
|
end
|
157
157
|
|
158
|
+
# Proxy through to the authentication strategy to find out the message that was generated.
|
159
|
+
# :api: public
|
160
|
+
def message
|
161
|
+
winning_strategy.nil? ? "" : winning_strategy.message
|
162
|
+
end
|
163
|
+
|
158
164
|
# Provides a way to return a 401 without warden defering to the failure app
|
159
165
|
# The result is a direct passthrough of your own response
|
160
166
|
# :api: public
|
@@ -13,7 +13,7 @@ module Warden::Spec
|
|
13
13
|
def setup_rack(app = nil, opts = {}, &block)
|
14
14
|
app ||= block if block_given?
|
15
15
|
# opts[:default_strategies] ||= [:password]
|
16
|
-
|
16
|
+
opts[:failure_app] ||= Warden::Spec::Helpers::FAILURE_APP
|
17
17
|
Rack::Builder.new do
|
18
18
|
use Warden::Spec::Helpers::Session
|
19
19
|
use Warden::Manager, opts do |manager|
|
data/spec/warden/manager_spec.rb
CHANGED
data/spec/warden/proxy_spec.rb
CHANGED
@@ -251,7 +251,7 @@ describe Warden::Proxy do
|
|
251
251
|
@env['warden'].user.should be_nil
|
252
252
|
|
253
253
|
end
|
254
|
-
|
254
|
+
|
255
255
|
it "should clear the session data when logging out" do
|
256
256
|
@env['rack.session'].should_not be_nil
|
257
257
|
app = lambda do |e|
|
@@ -265,6 +265,28 @@ describe Warden::Proxy do
|
|
265
265
|
end
|
266
266
|
end
|
267
267
|
|
268
|
+
describe "messages" do
|
269
|
+
|
270
|
+
it "should allow access to the failure message" do
|
271
|
+
failure = lambda do |e|
|
272
|
+
[401, {"Content-Type" => "text/plain"}, [e['warden'].message]]
|
273
|
+
end
|
274
|
+
app = lambda do |e|
|
275
|
+
e['warden'].authenticate! :failz
|
276
|
+
end
|
277
|
+
result = setup_rack(app, :failure_app => failure).call(env_with_params)
|
278
|
+
result.last.should == ["The Fails Strategy Has Failed You"]
|
279
|
+
end
|
280
|
+
|
281
|
+
it "should not die when accessing a message from a source where no authentication has occured" do
|
282
|
+
app = lambda do |e|
|
283
|
+
[200, {"Content-Type" => "text/plain"}, [e['warden'].message]]
|
284
|
+
end
|
285
|
+
result = setup_rack(app).call(env_with_params)
|
286
|
+
result[2].should == [""]
|
287
|
+
end
|
288
|
+
end
|
289
|
+
|
268
290
|
describe "when all strategies are not valid?" do
|
269
291
|
it "should return false for authenticated when there are no valid? strategies" do
|
270
292
|
@env['rack.session'] = {}
|
data/warden.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{warden}
|
5
|
-
s.version = "0.3.
|
5
|
+
s.version = "0.3.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Daniel Neighman"]
|
9
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-08-10}
|
10
10
|
s.email = %q{has.sox@gmail.com}
|
11
11
|
s.extra_rdoc_files = [
|
12
12
|
"LICENSE",
|
@@ -50,7 +50,7 @@ Gem::Specification.new do |s|
|
|
50
50
|
s.rdoc_options = ["--charset=UTF-8"]
|
51
51
|
s.require_paths = ["lib"]
|
52
52
|
s.rubyforge_project = %q{warden}
|
53
|
-
s.rubygems_version = %q{1.3.
|
53
|
+
s.rubygems_version = %q{1.3.4}
|
54
54
|
s.summary = %q{Rack middleware that provides authentication for rack applications}
|
55
55
|
s.test_files = [
|
56
56
|
"spec/helpers/request_helper.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hassox-warden
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Neighman
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-08-10 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -66,6 +66,7 @@ files:
|
|
66
66
|
- warden.gemspec
|
67
67
|
has_rdoc: false
|
68
68
|
homepage: http://github.com/hassox/warden
|
69
|
+
licenses:
|
69
70
|
post_install_message:
|
70
71
|
rdoc_options:
|
71
72
|
- --charset=UTF-8
|
@@ -86,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
87
|
requirements: []
|
87
88
|
|
88
89
|
rubyforge_project: warden
|
89
|
-
rubygems_version: 1.
|
90
|
+
rubygems_version: 1.3.5
|
90
91
|
signing_key:
|
91
92
|
specification_version: 3
|
92
93
|
summary: Rack middleware that provides authentication for rack applications
|