clearance 2.0.0.beta2 → 2.3.0
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.
Potentially problematic release.
This version of clearance might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.erb-lint.yml +5 -0
- data/.travis.yml +5 -9
- data/Appraisals +14 -19
- data/Gemfile +11 -7
- data/Gemfile.lock +137 -84
- data/NEWS.md +90 -11
- data/README.md +11 -24
- data/RELEASING.md +25 -0
- data/Rakefile +6 -1
- data/app/controllers/clearance/base_controller.rb +8 -1
- data/app/controllers/clearance/passwords_controller.rb +24 -7
- data/app/views/clearance_mailer/change_password.html.erb +2 -2
- data/app/views/clearance_mailer/change_password.text.erb +2 -2
- data/clearance.gemspec +10 -3
- data/config/locales/clearance.en.yml +1 -0
- data/config/routes.rb +1 -1
- data/gemfiles/rails_5.0.gemfile +10 -9
- data/gemfiles/rails_5.1.gemfile +11 -10
- data/gemfiles/rails_5.2.gemfile +11 -10
- data/gemfiles/rails_6.0.gemfile +11 -10
- data/lib/clearance/authentication.rb +1 -1
- data/lib/clearance/back_door.rb +2 -1
- data/lib/clearance/configuration.rb +29 -18
- data/lib/clearance/password_strategies.rb +2 -5
- data/lib/clearance/password_strategies/argon2.rb +23 -0
- data/lib/clearance/password_strategies/bcrypt.rb +17 -11
- data/lib/clearance/rack_session.rb +5 -1
- data/lib/clearance/session.rb +19 -2
- data/lib/clearance/testing/deny_access_matcher.rb +1 -5
- data/lib/clearance/user.rb +12 -3
- data/lib/clearance/version.rb +1 -1
- data/lib/generators/clearance/install/install_generator.rb +10 -0
- data/lib/generators/clearance/install/templates/README +10 -4
- data/lib/generators/clearance/install/templates/db/migrate/add_clearance_to_users.rb.erb +1 -1
- data/lib/generators/clearance/install/templates/db/migrate/create_users.rb.erb +1 -1
- data/lib/generators/clearance/routes/templates/routes.rb +1 -1
- data/spec/acceptance/clearance_installation_spec.rb +0 -4
- data/spec/app_templates/app/models/user.rb +1 -1
- data/spec/app_templates/testapp/app/views/layouts/application.html.erb +24 -0
- data/spec/clearance/back_door_spec.rb +20 -4
- data/spec/clearance/rack_session_spec.rb +2 -0
- data/spec/clearance/session_spec.rb +88 -8
- data/spec/clearance/testing/deny_access_matcher_spec.rb +32 -0
- data/spec/configuration_spec.rb +32 -14
- data/spec/controllers/passwords_controller_spec.rb +36 -0
- data/spec/dummy/app/controllers/application_controller.rb +1 -1
- data/spec/generators/clearance/install/install_generator_spec.rb +30 -1
- data/spec/generators/clearance/views/views_generator_spec.rb +0 -1
- data/spec/models/user_spec.rb +34 -5
- data/spec/password_strategies/argon2_spec.rb +79 -0
- data/spec/password_strategies/bcrypt_spec.rb +18 -1
- data/spec/requests/authentication_cookie_spec.rb +55 -0
- data/spec/spec_helper.rb +0 -1
- data/spec/support/generator_spec_helpers.rb +1 -5
- metadata +45 -15
- data/app/views/layouts/application.html.erb +0 -23
- data/spec/app_templates/app/models/rails5/user.rb +0 -5
data/spec/spec_helper.rb
CHANGED
@@ -18,7 +18,7 @@ module GeneratorSpecHelpers
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def provide_existing_user_class
|
21
|
-
copy_to_generator_root("app/models",
|
21
|
+
copy_to_generator_root("app/models", "user.rb")
|
22
22
|
allow(File).to receive(:exist?).and_call_original
|
23
23
|
allow(File).to receive(:exist?).with("app/models/user.rb").and_return(true)
|
24
24
|
end
|
@@ -32,10 +32,6 @@ module GeneratorSpecHelpers
|
|
32
32
|
FileUtils.mkdir_p(destination)
|
33
33
|
FileUtils.cp(template_file, destination)
|
34
34
|
end
|
35
|
-
|
36
|
-
def versionize_template(template_file)
|
37
|
-
["rails5", template_file].join("/")
|
38
|
-
end
|
39
35
|
end
|
40
36
|
|
41
37
|
RSpec.configure do |config|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clearance
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Croak
|
@@ -22,10 +22,10 @@ authors:
|
|
22
22
|
- Jason Morrison
|
23
23
|
- Galen Frechette
|
24
24
|
- Josh Steiner
|
25
|
-
autorequire:
|
25
|
+
autorequire:
|
26
26
|
bindir: bin
|
27
27
|
cert_chain: []
|
28
|
-
date:
|
28
|
+
date: 2020-08-14 00:00:00.000000000 Z
|
29
29
|
dependencies:
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: bcrypt
|
@@ -33,28 +33,48 @@ dependencies:
|
|
33
33
|
requirements:
|
34
34
|
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: 3.1.1
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 3.1.1
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: argon2
|
46
|
+
requirement: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - "~>"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '2.0'
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 2.0.2
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '2.0'
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 2.0.2
|
44
64
|
- !ruby/object:Gem::Dependency
|
45
65
|
name: email_validator
|
46
66
|
requirement: !ruby/object:Gem::Requirement
|
47
67
|
requirements:
|
48
68
|
- - "~>"
|
49
69
|
- !ruby/object:Gem::Version
|
50
|
-
version: '
|
70
|
+
version: '2.0'
|
51
71
|
type: :runtime
|
52
72
|
prerelease: false
|
53
73
|
version_requirements: !ruby/object:Gem::Requirement
|
54
74
|
requirements:
|
55
75
|
- - "~>"
|
56
76
|
- !ruby/object:Gem::Version
|
57
|
-
version: '
|
77
|
+
version: '2.0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: railties
|
60
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -111,7 +131,12 @@ dependencies:
|
|
111
131
|
- - ">="
|
112
132
|
- !ruby/object:Gem::Version
|
113
133
|
version: '5.0'
|
114
|
-
description:
|
134
|
+
description: |2
|
135
|
+
Clearance is built to support authentication and authorization via an
|
136
|
+
email/password sign-in mechanism in applications.
|
137
|
+
|
138
|
+
It provides some core classes commonly used for these features, along with
|
139
|
+
some opinionated defaults - but is intended to be easy to override.
|
115
140
|
email: support@thoughtbot.com
|
116
141
|
executables: []
|
117
142
|
extensions: []
|
@@ -119,6 +144,7 @@ extra_rdoc_files:
|
|
119
144
|
- LICENSE
|
120
145
|
- README.md
|
121
146
|
files:
|
147
|
+
- ".erb-lint.yml"
|
122
148
|
- ".gitignore"
|
123
149
|
- ".travis.yml"
|
124
150
|
- ".yardopts"
|
@@ -129,6 +155,7 @@ files:
|
|
129
155
|
- LICENSE
|
130
156
|
- NEWS.md
|
131
157
|
- README.md
|
158
|
+
- RELEASING.md
|
132
159
|
- Rakefile
|
133
160
|
- app/controllers/clearance/base_controller.rb
|
134
161
|
- app/controllers/clearance/passwords_controller.rb
|
@@ -137,7 +164,6 @@ files:
|
|
137
164
|
- app/mailers/clearance_mailer.rb
|
138
165
|
- app/views/clearance_mailer/change_password.html.erb
|
139
166
|
- app/views/clearance_mailer/change_password.text.erb
|
140
|
-
- app/views/layouts/application.html.erb
|
141
167
|
- app/views/passwords/create.html.erb
|
142
168
|
- app/views/passwords/edit.html.erb
|
143
169
|
- app/views/passwords/new.html.erb
|
@@ -170,6 +196,7 @@ files:
|
|
170
196
|
- lib/clearance/default_sign_in_guard.rb
|
171
197
|
- lib/clearance/engine.rb
|
172
198
|
- lib/clearance/password_strategies.rb
|
199
|
+
- lib/clearance/password_strategies/argon2.rb
|
173
200
|
- lib/clearance/password_strategies/bcrypt.rb
|
174
201
|
- lib/clearance/rack_session.rb
|
175
202
|
- lib/clearance/rspec.rb
|
@@ -205,12 +232,12 @@ files:
|
|
205
232
|
- lib/generators/clearance/views/views_generator.rb
|
206
233
|
- spec/acceptance/clearance_installation_spec.rb
|
207
234
|
- spec/app_templates/app/controllers/application_controller.rb
|
208
|
-
- spec/app_templates/app/models/rails5/user.rb
|
209
235
|
- spec/app_templates/app/models/user.rb
|
210
236
|
- spec/app_templates/config/initializers/clearance.rb
|
211
237
|
- spec/app_templates/config/routes.rb
|
212
238
|
- spec/app_templates/testapp/Gemfile
|
213
239
|
- spec/app_templates/testapp/app/controllers/home_controller.rb
|
240
|
+
- spec/app_templates/testapp/app/views/layouts/application.html.erb
|
214
241
|
- spec/app_templates/testapp/config/initializers/action_mailer.rb
|
215
242
|
- spec/app_templates/testapp/config/routes.rb
|
216
243
|
- spec/clearance/back_door_spec.rb
|
@@ -222,6 +249,7 @@ files:
|
|
222
249
|
- spec/clearance/session_spec.rb
|
223
250
|
- spec/clearance/sign_in_guard_spec.rb
|
224
251
|
- spec/clearance/testing/controller_helpers_spec.rb
|
252
|
+
- spec/clearance/testing/deny_access_matcher_spec.rb
|
225
253
|
- spec/clearance/testing/view_helpers_spec.rb
|
226
254
|
- spec/clearance/token_spec.rb
|
227
255
|
- spec/configuration_spec.rb
|
@@ -245,8 +273,10 @@ files:
|
|
245
273
|
- spec/helpers/helper_helpers_spec.rb
|
246
274
|
- spec/mailers/clearance_mailer_spec.rb
|
247
275
|
- spec/models/user_spec.rb
|
276
|
+
- spec/password_strategies/argon2_spec.rb
|
248
277
|
- spec/password_strategies/bcrypt_spec.rb
|
249
278
|
- spec/password_strategies/password_strategies_spec.rb
|
279
|
+
- spec/requests/authentication_cookie_spec.rb
|
250
280
|
- spec/requests/cookie_options_spec.rb
|
251
281
|
- spec/requests/csrf_rotation_spec.rb
|
252
282
|
- spec/requests/password_maintenance_spec.rb
|
@@ -264,7 +294,7 @@ homepage: https://github.com/thoughtbot/clearance
|
|
264
294
|
licenses:
|
265
295
|
- MIT
|
266
296
|
metadata: {}
|
267
|
-
post_install_message:
|
297
|
+
post_install_message:
|
268
298
|
rdoc_options:
|
269
299
|
- "--charset=UTF-8"
|
270
300
|
require_paths:
|
@@ -276,12 +306,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
276
306
|
version: 2.4.0
|
277
307
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
278
308
|
requirements:
|
279
|
-
- - "
|
309
|
+
- - ">="
|
280
310
|
- !ruby/object:Gem::Version
|
281
|
-
version:
|
311
|
+
version: '0'
|
282
312
|
requirements: []
|
283
|
-
rubygems_version: 3.
|
284
|
-
signing_key:
|
313
|
+
rubygems_version: 3.1.2
|
314
|
+
signing_key:
|
285
315
|
specification_version: 4
|
286
316
|
summary: Rails authentication & authorization with email & password.
|
287
317
|
test_files: []
|
@@ -1,23 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<%= csrf_meta_tag %>
|
5
|
-
</head>
|
6
|
-
<body>
|
7
|
-
<div id="header">
|
8
|
-
<% if signed_in? -%>
|
9
|
-
<%= button_to t(".sign_out"), sign_out_path, method: :delete %>
|
10
|
-
<% else -%>
|
11
|
-
<%= link_to t(".sign_in"), sign_in_path %>
|
12
|
-
<% end -%>
|
13
|
-
</div>
|
14
|
-
|
15
|
-
<div id="flash">
|
16
|
-
<% flash.each do |key, value| -%>
|
17
|
-
<div id="flash_<%= key %>"><%=h value %></div>
|
18
|
-
<% end %>
|
19
|
-
</div>
|
20
|
-
|
21
|
-
<%= yield %>
|
22
|
-
</body>
|
23
|
-
</html>
|