warden 1.2.8 → 1.2.9
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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +27 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +68 -37
- data/Gemfile +2 -2
- data/LICENSE +1 -0
- data/README.md +1 -1
- data/lib/warden/proxy.rb +10 -2
- data/lib/warden/strategies/base.rb +1 -0
- data/lib/warden/version.rb +1 -1
- data/warden.gemspec +2 -4
- metadata +7 -10
- data/.travis.yml +0 -7
- data/Gemfile.lock +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7e6c341f27479e6f36339e5d2c211277b4c0e664c960827c2044dd36b5c1c23
|
4
|
+
data.tar.gz: 62e22ba4d81a887444d60ff033c7a6b0a0a8e723771d15cee045ee83baece801
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6b602f560ebc6f04848c0c7e2d9017af8bf55c6cd6e6fec978e28e0463960761eaf488fabdba1b14d78bcf16e352a97d9b95b361142c3a4c14672517ca9e5b5
|
7
|
+
data.tar.gz: 9a6397e9d84063c8f7cf221c878b0657151a0cf01a6f98172b2ca0dfd1d5e7eddf7da9ce616f550928f5f14dcb073553379add7a006acc875fb162a7ce2a8210
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
+
|
8
|
+
name: Tests
|
9
|
+
on: [push, pull_request]
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
test:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
strategy:
|
15
|
+
matrix:
|
16
|
+
ruby: [ '2.5', '2.6', '2.7' ]
|
17
|
+
name: Ruby ${{ matrix.ruby }}
|
18
|
+
steps:
|
19
|
+
- uses: actions/checkout@v2
|
20
|
+
- name: Set up Ruby
|
21
|
+
uses: ruby/setup-ruby@v1
|
22
|
+
with:
|
23
|
+
ruby-version: 2.6
|
24
|
+
- name: Install dependencies
|
25
|
+
run: bundle install
|
26
|
+
- name: Run tests
|
27
|
+
run: bundle exec rake
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,86 +1,114 @@
|
|
1
|
-
|
1
|
+
# CHANGELOG
|
2
|
+
|
3
|
+
## Version 1.2.9 / 2020-08-31
|
4
|
+
* Avoid warning on uninitialized instance variable (#188)
|
5
|
+
* Bump rack to 2.2.3 (#190)
|
6
|
+
* Remove Gemfile.lock
|
7
|
+
* Resolve outstanding TODO entries (#179)
|
8
|
+
* A bunch of gem structure cleanup (thanks @olleolleolle)
|
9
|
+
* Set winning strategy when :warden is thrown (#174)
|
10
|
+
* Bump rack dependency to >= 2.0.9 due to CVEs
|
11
|
+
|
12
|
+
## Version 1.2.8 / 2018-11-15
|
13
|
+
|
2
14
|
* Bugfix: Flips two lines to allow scopes authenticating from another without stepping on each other's toes. (PR #144)
|
3
15
|
* Update `rack` dependency to >= 2.0.6 due to security vulnerability
|
4
16
|
* Internal: Add Rubocop Lint checking
|
5
17
|
* Internal: Update RSpec to use `.rspec` file
|
6
18
|
|
7
|
-
|
19
|
+
## Version 1.2.7 / 2016-10-12
|
20
|
+
|
8
21
|
* Added 'frozen_string_literal' comment, bump ruby to 2.3
|
9
22
|
|
10
|
-
|
23
|
+
## Version 1.2.6 / 2016-01-31
|
24
|
+
|
11
25
|
* Separate test helpers to encapsulate Warden object mocking inside it's own class
|
12
26
|
|
13
|
-
|
27
|
+
## Version 1.2.5 / 2016-01-28
|
28
|
+
|
14
29
|
* Expands on the test helpers available to make it easier for testing gems
|
15
30
|
|
16
|
-
|
31
|
+
## Version 1.2.3 / 2013-07-14
|
32
|
+
|
17
33
|
* Fix an issue with lazy loaded sessions
|
18
34
|
|
19
|
-
|
35
|
+
## Version 1.2.2 / 2013-07-12
|
36
|
+
|
20
37
|
* Support nil session stores on logout
|
21
38
|
* Fix strategies blowing up with undefined method base
|
22
39
|
|
23
|
-
|
40
|
+
## Version 1.2.1 / 2012-06-16
|
41
|
+
|
24
42
|
* Minor caching and speed improvements
|
25
43
|
* Add support to #lock in the proxy
|
26
44
|
* Add support to after_failed_fetch callback
|
27
45
|
|
28
|
-
|
46
|
+
## Version 1.2.0 / 2012-05-08
|
47
|
+
|
29
48
|
* Deprecate warden_cookies since it was never functional
|
30
49
|
* Add support to serialize_from_session and serialize_into_session per scope
|
31
50
|
|
32
|
-
|
51
|
+
## Version 1.1.1 / 2012-02-16
|
52
|
+
|
33
53
|
* Allow run_callbacks as an option to set_user and user
|
34
54
|
|
35
|
-
|
55
|
+
## Version 1.1.0 / 2011-11-02
|
56
|
+
|
36
57
|
* Use the default scopes action when using a bare throw(:warden)
|
37
58
|
|
38
|
-
|
59
|
+
## Version 1.0.6
|
60
|
+
|
39
61
|
* Remove gem files from the packaged gem
|
40
62
|
|
41
|
-
|
63
|
+
## Version 1.0.3
|
64
|
+
|
42
65
|
* Do not renew session on user fetch
|
43
66
|
|
44
|
-
|
67
|
+
## Version 1.0.2
|
68
|
+
|
45
69
|
* Added :intercept_401 to Warden::Config
|
46
70
|
|
47
|
-
|
71
|
+
## Version 1.0.1
|
72
|
+
|
48
73
|
* Bug fix on strategies errors handler
|
49
74
|
|
50
|
-
|
75
|
+
## Version 1.0.0
|
76
|
+
|
51
77
|
* Bump!
|
52
78
|
* Allow strategies to configure if user should be stored or not
|
53
79
|
* Force session id renewal when user is set
|
54
80
|
|
55
|
-
|
81
|
+
## Version 0.10.7
|
82
|
+
|
56
83
|
* Performance boost. config object to use raw accessors
|
57
84
|
* Add per strategy storage option
|
58
85
|
|
59
|
-
|
86
|
+
## Version 0.10.6 / 0.10.7 / 2010-05-22
|
87
|
+
|
60
88
|
* Bugfix set_user was not respecting logouts in hooks
|
61
89
|
|
62
|
-
|
90
|
+
## Version 0.10.4 / 0.10.5 / 2010-05-20
|
63
91
|
* Add action specifying in scope_defaults
|
64
92
|
|
65
|
-
|
93
|
+
## Version 0.10.3 / 2010-03-01
|
66
94
|
* Bugfix prevent halted winning strategy from being skipped in subsequent runs
|
67
95
|
|
68
|
-
|
96
|
+
## Version 0.10.2 / 2010-03-26
|
69
97
|
* Halt on fail!. Add fail to allow cascading
|
70
98
|
* cache the winning strategy
|
71
99
|
* Make the config object Dupable
|
72
100
|
|
73
|
-
|
101
|
+
## Version 0.10.1 / 2010-03-23
|
74
102
|
* Merge previous from master
|
75
103
|
* tag
|
76
104
|
|
77
|
-
|
105
|
+
## Version 0.10.0 / 2010-03-22
|
78
106
|
* Allow default strategies to be set on the proxy
|
79
107
|
* Provide each scope with it's own default strategies
|
80
108
|
* Provide each scope with default set_user opts
|
81
109
|
* depricate the Proxy#default_strategies= method
|
82
110
|
|
83
|
-
|
111
|
+
## Version 0.9.5 / 2010-02-28
|
84
112
|
|
85
113
|
* Add Warden.test_mode!
|
86
114
|
* Add Warden.on_next_request
|
@@ -88,42 +116,42 @@
|
|
88
116
|
** login_as
|
89
117
|
** logout
|
90
118
|
|
91
|
-
|
119
|
+
## Version 0.9.4 / 2010-02-23
|
92
120
|
|
93
121
|
* Fix an issue where winning_strategy was not cleaned, allowing multiple scopes to sign in, even when the second one should not
|
94
122
|
|
95
|
-
|
123
|
+
## Version 0.9.3 / 2010-02-17
|
96
124
|
|
97
125
|
* Add prepend_ to all hooks (josevalim)
|
98
126
|
|
99
|
-
|
127
|
+
## Version 0.9.2 / 2010-02-10
|
100
128
|
|
101
129
|
* Ruby 1.9 compatibility changes (grimen)
|
102
130
|
|
103
|
-
|
131
|
+
## Version 0.9.1 / 2010-02-09
|
104
132
|
|
105
133
|
* Support for passing a custom message with Warden::Strategy::Base#success! as second optional (grimen)
|
106
134
|
|
107
|
-
|
135
|
+
## Version 0.9.0 / 2010-01-21
|
108
136
|
|
109
137
|
* Remove serializers and make strategies more powerful, including cache behavior (josevalim)
|
110
138
|
|
111
|
-
|
139
|
+
## Version 0.8.1 / 2010-01-06
|
112
140
|
|
113
141
|
* Fix a bug when silence missing serializers is set (josevalim)
|
114
142
|
|
115
|
-
|
143
|
+
## Version 0.8.0 / 2010-01-06
|
116
144
|
|
117
145
|
* enhancements
|
118
146
|
* Add conditionals to callbacks (josevalim)
|
119
147
|
* Extract Warden::Config from Warden::Manager (josevalim)
|
120
148
|
|
121
|
-
|
149
|
+
## Version 0.7.0 / 2010-01-04
|
122
150
|
|
123
151
|
* enhancements
|
124
152
|
* Expose config in warden proxy (hassox)
|
125
153
|
|
126
|
-
|
154
|
+
## Version 0.6.0 / 2009-11-16
|
127
155
|
|
128
156
|
* enhancements
|
129
157
|
* added serializers, including session serializer (set by default) and a cookie serializer (josevalim)
|
@@ -131,24 +159,27 @@
|
|
131
159
|
* deprecation
|
132
160
|
* serializer_into_session and serializer_from_session are deprecated, overwrite serialize and deserializer in Warden::Serializers::Session instead (josevalim)
|
133
161
|
|
134
|
-
|
162
|
+
## Version 0.5.3 / 2009-11-10
|
163
|
+
|
135
164
|
* bug fixes
|
136
165
|
* authenticated? and unauthenticated? should return true or false, not the user or false. (hassox)
|
137
166
|
|
138
|
-
|
167
|
+
## Version 0.5.2 / 2009-11-09
|
168
|
+
|
139
169
|
* enhancements
|
140
170
|
* authenticated? always try to serialize the user from session (josevalim)
|
141
171
|
* stored_in_session? checks if user information is stored in session, without serializing (josevalim)
|
142
172
|
* 401 behaves exactly like throw :warden (staugaard)
|
143
173
|
|
144
|
-
|
174
|
+
## Version 0.5.1 / 2009-10-25
|
175
|
+
|
145
176
|
* enhancements
|
146
177
|
* Adds yielding to authenticated? and unauthenticated? methods (hassox)
|
147
178
|
* Adds an option to silence missing strategies (josevalim)
|
148
179
|
* Add an option to authenticate(!) to prevent storage of a user into the session (hassox)
|
149
180
|
* allow custom :action to be thrown (josevalim)
|
150
181
|
|
151
|
-
|
182
|
+
## Version 0.4.0 / 2009-10-12
|
152
183
|
|
153
184
|
* enhancements
|
154
185
|
* add Content-Type header to redirects (staugaard)
|
@@ -157,7 +188,7 @@
|
|
157
188
|
* bug fixes
|
158
189
|
* Do not consume opts twice, otherwise just the first will parse the scope (josevalim)
|
159
190
|
|
160
|
-
|
191
|
+
## Version 0.3.2 / 2009-09-15
|
161
192
|
|
162
193
|
* enhancements
|
163
194
|
* add a hook for plugins to specify how they can clear the whole section
|
data/Gemfile
CHANGED
data/LICENSE
CHANGED
data/README.md
CHANGED
data/lib/warden/proxy.rb
CHANGED
@@ -111,7 +111,7 @@ module Warden
|
|
111
111
|
user
|
112
112
|
end
|
113
113
|
|
114
|
-
# Same API as
|
114
|
+
# Same API as authenticate, but returns a boolean instead of a user.
|
115
115
|
# The difference between this method (authenticate?) and authenticated?
|
116
116
|
# is that the former will run strategies if the user has not yet been
|
117
117
|
# authenticated, and the second relies on already performed ones.
|
@@ -365,9 +365,12 @@ module Warden
|
|
365
365
|
(strategies || args).each do |name|
|
366
366
|
strategy = _fetch_strategy(name, scope)
|
367
367
|
next unless strategy && !strategy.performed? && strategy.valid?
|
368
|
+
catch(:warden) do
|
369
|
+
_update_winning_strategy(strategy, scope)
|
370
|
+
end
|
368
371
|
|
369
372
|
strategy._run!
|
370
|
-
|
373
|
+
_update_winning_strategy(strategy, scope)
|
371
374
|
break if strategy.halted?
|
372
375
|
end
|
373
376
|
end
|
@@ -382,6 +385,11 @@ module Warden
|
|
382
385
|
raise "Invalid strategy #{name}"
|
383
386
|
end
|
384
387
|
end
|
388
|
+
|
389
|
+
# Updates the winning strategy for a given scope
|
390
|
+
def _update_winning_strategy(strategy, scope)
|
391
|
+
self.winning_strategy = @winning_strategies[scope] = strategy
|
392
|
+
end
|
385
393
|
end # Proxy
|
386
394
|
|
387
395
|
end # Warden
|
data/lib/warden/version.rb
CHANGED
data/warden.gemspec
CHANGED
@@ -7,7 +7,7 @@ require 'warden/version'
|
|
7
7
|
|
8
8
|
Gem::Specification.new do |spec|
|
9
9
|
spec.name = "warden"
|
10
|
-
spec.version = Warden::VERSION
|
10
|
+
spec.version = Warden::VERSION
|
11
11
|
spec.authors = ["Daniel Neighman", "Justin Smestad", "Whitney Smestad", "José Valim"]
|
12
12
|
spec.email = %q{hasox.sox@gmail.com justin.smestad@gmail.com whitcolorado@gmail.com}
|
13
13
|
spec.homepage = "https://github.com/hassox/warden"
|
@@ -20,8 +20,6 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
21
21
|
f.match(%r{^(test|spec|features)/})
|
22
22
|
end
|
23
|
-
spec.rdoc_options = ["--charset=UTF-8"]
|
24
23
|
spec.require_paths = ["lib"]
|
25
|
-
spec.
|
26
|
-
spec.add_dependency "rack", ">= 2.0.6"
|
24
|
+
spec.add_dependency "rack", ">= 2.0.9"
|
27
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: warden
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Neighman
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2020-08-31 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rack
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 2.0.
|
22
|
+
version: 2.0.9
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 2.0.
|
29
|
+
version: 2.0.9
|
30
30
|
description:
|
31
31
|
email: hasox.sox@gmail.com justin.smestad@gmail.com whitcolorado@gmail.com
|
32
32
|
executables: []
|
@@ -35,12 +35,11 @@ extra_rdoc_files:
|
|
35
35
|
- LICENSE
|
36
36
|
- README.md
|
37
37
|
files:
|
38
|
+
- ".github/workflows/ruby.yml"
|
38
39
|
- ".gitignore"
|
39
40
|
- ".rspec"
|
40
|
-
- ".travis.yml"
|
41
41
|
- CHANGELOG.md
|
42
42
|
- Gemfile
|
43
|
-
- Gemfile.lock
|
44
43
|
- LICENSE
|
45
44
|
- README.md
|
46
45
|
- Rakefile
|
@@ -64,8 +63,7 @@ licenses:
|
|
64
63
|
- MIT
|
65
64
|
metadata: {}
|
66
65
|
post_install_message:
|
67
|
-
rdoc_options:
|
68
|
-
- "--charset=UTF-8"
|
66
|
+
rdoc_options: []
|
69
67
|
require_paths:
|
70
68
|
- lib
|
71
69
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -79,8 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
77
|
- !ruby/object:Gem::Version
|
80
78
|
version: '0'
|
81
79
|
requirements: []
|
82
|
-
|
83
|
-
rubygems_version: 2.7.6
|
80
|
+
rubygems_version: 3.1.2
|
84
81
|
signing_key:
|
85
82
|
specification_version: 4
|
86
83
|
summary: An authentication library compatible with all Rack-based frameworks
|
data/.travis.yml
DELETED
data/Gemfile.lock
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
warden (1.2.8)
|
5
|
-
rack (>= 2.0.6)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
diff-lcs (1.3)
|
11
|
-
rack (2.0.6)
|
12
|
-
rack-test (0.7.0)
|
13
|
-
rack (>= 1.0, < 3)
|
14
|
-
rake (12.1.0)
|
15
|
-
rspec (3.6.0)
|
16
|
-
rspec-core (~> 3.6.0)
|
17
|
-
rspec-expectations (~> 3.6.0)
|
18
|
-
rspec-mocks (~> 3.6.0)
|
19
|
-
rspec-core (3.6.0)
|
20
|
-
rspec-support (~> 3.6.0)
|
21
|
-
rspec-expectations (3.6.0)
|
22
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
23
|
-
rspec-support (~> 3.6.0)
|
24
|
-
rspec-mocks (3.6.0)
|
25
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
26
|
-
rspec-support (~> 3.6.0)
|
27
|
-
rspec-support (3.6.0)
|
28
|
-
|
29
|
-
PLATFORMS
|
30
|
-
ruby
|
31
|
-
|
32
|
-
DEPENDENCIES
|
33
|
-
rack (>= 2.0.6)
|
34
|
-
rack-test
|
35
|
-
rake
|
36
|
-
rspec (~> 3)
|
37
|
-
warden!
|
38
|
-
|
39
|
-
BUNDLED WITH
|
40
|
-
1.17.1
|