hassox-warden 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|