rodauth 1.22.0 → 1.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +12 -0
- data/README.rdoc +5 -3
- data/doc/email_base.rdoc +1 -0
- data/doc/release_notes/1.23.0.txt +32 -0
- data/lib/rodauth.rb +5 -2
- data/lib/rodauth/features/base.rb +8 -0
- data/lib/rodauth/features/change_password_notify.rb +1 -1
- data/lib/rodauth/features/create_account.rb +1 -1
- data/lib/rodauth/features/email_auth.rb +3 -4
- data/lib/rodauth/features/email_base.rb +7 -2
- data/lib/rodauth/features/lockout.rb +1 -1
- data/lib/rodauth/features/login.rb +6 -2
- data/lib/rodauth/features/otp.rb +6 -3
- data/lib/rodauth/features/password_expiration.rb +1 -1
- data/lib/rodauth/features/recovery_codes.rb +3 -3
- data/lib/rodauth/features/reset_password.rb +2 -2
- data/lib/rodauth/features/sms_codes.rb +5 -5
- data/lib/rodauth/features/verify_account.rb +2 -2
- data/lib/rodauth/features/verify_login_change.rb +1 -1
- data/lib/rodauth/version.rb +1 -1
- data/templates/email-auth-request-form.str +2 -2
- data/templates/reset-password-request.str +3 -3
- data/templates/unlock-account-request.str +3 -3
- data/templates/verify-account-resend.str +3 -3
- metadata +5 -43
- data/Rakefile +0 -179
- data/spec/account_expiration_spec.rb +0 -225
- data/spec/all.rb +0 -1
- data/spec/change_login_spec.rb +0 -156
- data/spec/change_password_notify_spec.rb +0 -33
- data/spec/change_password_spec.rb +0 -202
- data/spec/close_account_spec.rb +0 -162
- data/spec/confirm_password_spec.rb +0 -70
- data/spec/create_account_spec.rb +0 -127
- data/spec/disallow_common_passwords_spec.rb +0 -93
- data/spec/disallow_password_reuse_spec.rb +0 -179
- data/spec/email_auth_spec.rb +0 -285
- data/spec/http_basic_auth_spec.rb +0 -143
- data/spec/jwt_cors_spec.rb +0 -57
- data/spec/jwt_refresh_spec.rb +0 -256
- data/spec/jwt_spec.rb +0 -235
- data/spec/lockout_spec.rb +0 -250
- data/spec/login_spec.rb +0 -328
- data/spec/migrate/001_tables.rb +0 -184
- data/spec/migrate/002_account_password_hash_column.rb +0 -11
- data/spec/migrate_password/001_tables.rb +0 -73
- data/spec/migrate_travis/001_tables.rb +0 -141
- data/spec/password_complexity_spec.rb +0 -109
- data/spec/password_expiration_spec.rb +0 -244
- data/spec/password_grace_period_spec.rb +0 -93
- data/spec/remember_spec.rb +0 -451
- data/spec/reset_password_spec.rb +0 -229
- data/spec/rodauth_spec.rb +0 -343
- data/spec/session_expiration_spec.rb +0 -58
- data/spec/single_session_spec.rb +0 -127
- data/spec/spec_helper.rb +0 -327
- data/spec/two_factor_spec.rb +0 -1462
- data/spec/update_password_hash_spec.rb +0 -40
- data/spec/verify_account_grace_period_spec.rb +0 -171
- data/spec/verify_account_spec.rb +0 -240
- data/spec/verify_change_login_spec.rb +0 -46
- data/spec/verify_login_change_spec.rb +0 -232
- data/spec/views/layout-other.str +0 -11
- data/spec/views/layout.str +0 -11
- data/spec/views/login.str +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4306ff08603b48a95bc543ffe53188d28d71ffdf8bf7427b65f4384eab8f430
|
4
|
+
data.tar.gz: a7319dbdfa10b43743ec76f32453ef0d65f3b1a30945f9c3988c7b87c6a639a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21d00b963f35ce2f356ba139cc07f0e0612484cc55a42efe5502f8401b8c373eeab2b2c71c92f68a2886d523e0b73a5fda80b5137fecec5b26ca9a0f517a3040
|
7
|
+
data.tar.gz: c5947144c88fbe98c31a2a24cd7a349953f8ff1717b9258f39ff58cbd98de85fb36abf6912b51496b6965ed7367f3fc13aad702db9443e587d9bde15dfc7c7c7
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 1.23.0 (2020-03-06)
|
2
|
+
|
3
|
+
* Remove specs from the gem to reduce gem size by over 20% (jeremyevans)
|
4
|
+
|
5
|
+
* Make rodauth.authenticated? return true on OTP setup page (jeremyevans) (#68)
|
6
|
+
|
7
|
+
* Display link to email auth request form when user has entered login and incorrect password if using email_auth feature (janko) (#65)
|
8
|
+
|
9
|
+
* Add *_path and *_url methods for all *_route methods (janko) (#64)
|
10
|
+
|
11
|
+
* Add send_email configuration method for configuring how email is sent (janko) (#63)
|
12
|
+
|
1
13
|
=== 1.22.0 (2019-10-29)
|
2
14
|
|
3
15
|
* Add jwt_cors feature to handle Cross-Origin Resource Sharing when using the jwt feature (jeremyevans)
|
data/README.rdoc
CHANGED
@@ -931,6 +931,10 @@ verified_account? :: (verify_grace_period feature) Whether the account is curren
|
|
931
931
|
login as they are in the grace period.
|
932
932
|
locked_out? :: (lockout feature) Whether the account for the current session has been
|
933
933
|
locked out.
|
934
|
+
*_path :: One of these is added for each of the routes added by Rodauth, giving the
|
935
|
+
relative path to the route.
|
936
|
+
*_url :: One of these is added for each of the routes added by Rodauth, giving the
|
937
|
+
absolute path to the routE.
|
934
938
|
|
935
939
|
=== With Multiple Configurations
|
936
940
|
|
@@ -1100,9 +1104,7 @@ Here are some examples of integrating Rodauth into applications that
|
|
1100
1104
|
don't use Roda:
|
1101
1105
|
|
1102
1106
|
* {Ginatra, a Sinatra-based git repository viewer}[https://github.com/jeremyevans/ginatra/commit/28108ebec96e8d42596ee55b01c3f7b50c155dd1]
|
1103
|
-
* {Rodauth's demo site as a Rails application}[https://github.com/
|
1104
|
-
This uses the {roda-rails gem}[https://github.com/jeremyevans/roda-rails]
|
1105
|
-
so that Rodauth uses Rails' CSRF and flash support)
|
1107
|
+
* {Rodauth's demo site as a Rails 6 application}[https://github.com/janko/rodauth-demo-rails]
|
1106
1108
|
* {Grape application}[https://github.com/davydovanton/grape-rodauth]
|
1107
1109
|
* {Hanami application}[https://github.com/davydovanton/rodauth_hanami]
|
1108
1110
|
|
data/doc/email_base.rdoc
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
= New Features
|
2
|
+
|
3
|
+
* When the email_auth feature is used, the link to request email
|
4
|
+
authentication is now displayed if the user inputs an incorrect
|
5
|
+
password. Previously, it was only shown if the user had not
|
6
|
+
yet entered a password.
|
7
|
+
|
8
|
+
* A send_email configuration method has been added, which can be
|
9
|
+
overridden to customize email delivery (such as logging such
|
10
|
+
email). The configuration method block accepts a Mail::Message
|
11
|
+
argument.
|
12
|
+
|
13
|
+
* All rodauth.*_route methods that return the name of the route
|
14
|
+
segment now have rodauth.*_path and rodauth.*_url equivalents,
|
15
|
+
which return the path and URL for the related routes, respectively.
|
16
|
+
The rodauth.*_path methods are useful when constructing links to
|
17
|
+
the related Rodauth pages on the same site, and the rodauth.*_url
|
18
|
+
methods are useful for constructing link to the Rodauth pages from
|
19
|
+
other sites or in email.
|
20
|
+
|
21
|
+
= Other Improvements
|
22
|
+
|
23
|
+
* Specs have been removed from the gem file, reducing gem size by
|
24
|
+
over 20%.
|
25
|
+
|
26
|
+
* rodauth.authenticated? now returns true on the OTP setup page
|
27
|
+
when using the otp feature. Previously, this method returned
|
28
|
+
false on the OTP setup page. However, as the user has not yet
|
29
|
+
setup OTP when viewing this page, they should be considered
|
30
|
+
fully authenticated, as they would be if they viewed any other
|
31
|
+
page before setting up OTP. This change probably only affects
|
32
|
+
cases where the layout uses rodauth.authenticated?.
|
data/lib/rodauth.rb
CHANGED
@@ -101,11 +101,14 @@ module Rodauth
|
|
101
101
|
attr_accessor :configuration
|
102
102
|
|
103
103
|
def route(name=feature_name, default=name.to_s.tr('_', '-'), &block)
|
104
|
-
|
104
|
+
route_meth = :"#{name}_route"
|
105
|
+
auth_value_method route_meth, default
|
106
|
+
|
107
|
+
define_method(:"#{name}_path") { route_path(send(route_meth)) }
|
108
|
+
define_method(:"#{name}_url") { route_url(send(route_meth)) }
|
105
109
|
|
106
110
|
handle_meth = :"handle_#{name}"
|
107
111
|
internal_handle_meth = :"_#{handle_meth}"
|
108
|
-
route_meth = :"#{name}_route"
|
109
112
|
before route_meth
|
110
113
|
|
111
114
|
unless block.arity == 1
|
@@ -387,6 +387,14 @@ module Rodauth
|
|
387
387
|
request.redirect(path)
|
388
388
|
end
|
389
389
|
|
390
|
+
def route_path(route)
|
391
|
+
"#{prefix}/#{route}"
|
392
|
+
end
|
393
|
+
|
394
|
+
def route_url(route)
|
395
|
+
"#{request.base_url}#{route_path(route)}"
|
396
|
+
end
|
397
|
+
|
390
398
|
def transaction(opts={}, &block)
|
391
399
|
db.transaction(opts, &block)
|
392
400
|
end
|
@@ -135,7 +135,7 @@ module Rodauth
|
|
135
135
|
end
|
136
136
|
|
137
137
|
def send_email_auth_email
|
138
|
-
create_email_auth_email
|
138
|
+
send_email(create_email_auth_email)
|
139
139
|
end
|
140
140
|
|
141
141
|
def email_auth_email_link
|
@@ -150,7 +150,7 @@ module Rodauth
|
|
150
150
|
|
151
151
|
def login_form_footer
|
152
152
|
footer = super
|
153
|
-
footer +=
|
153
|
+
footer += email_auth_request_form if valid_login_entered?
|
154
154
|
footer
|
155
155
|
end
|
156
156
|
|
@@ -166,9 +166,8 @@ module Rodauth
|
|
166
166
|
redirect email_auth_email_sent_redirect
|
167
167
|
else
|
168
168
|
# If the account has a password hash, allow password login, but
|
169
|
-
# show form below to also login via email link.
|
169
|
+
# we will show form below to also login via email link.
|
170
170
|
super
|
171
|
-
@email_auth_request_form = email_auth_request_form
|
172
171
|
end
|
173
172
|
end
|
174
173
|
|
@@ -14,7 +14,8 @@ module Rodauth
|
|
14
14
|
|
15
15
|
auth_methods(
|
16
16
|
:create_email,
|
17
|
-
:email_to
|
17
|
+
:email_to,
|
18
|
+
:send_email
|
18
19
|
)
|
19
20
|
|
20
21
|
def post_configure
|
@@ -24,6 +25,10 @@ module Rodauth
|
|
24
25
|
|
25
26
|
private
|
26
27
|
|
28
|
+
def send_email(email)
|
29
|
+
email.deliver!
|
30
|
+
end
|
31
|
+
|
27
32
|
def create_email(subject, body)
|
28
33
|
create_email_to(email_to, subject, body)
|
29
34
|
end
|
@@ -46,7 +51,7 @@ module Rodauth
|
|
46
51
|
end
|
47
52
|
|
48
53
|
def token_link(route, param, key)
|
49
|
-
"#{
|
54
|
+
"#{route_url(route)}?#{param}=#{account_id}#{token_separator}#{convert_email_token_key(key)}"
|
50
55
|
end
|
51
56
|
|
52
57
|
def convert_email_token_key(key)
|
@@ -69,12 +69,16 @@ module Rodauth
|
|
69
69
|
|
70
70
|
def skip_login_field_on_login?
|
71
71
|
return false unless use_multi_phase_login?
|
72
|
-
|
72
|
+
valid_login_entered?
|
73
73
|
end
|
74
74
|
|
75
75
|
def skip_password_field_on_login?
|
76
76
|
return false unless use_multi_phase_login?
|
77
|
-
|
77
|
+
!valid_login_entered?
|
78
|
+
end
|
79
|
+
|
80
|
+
def valid_login_entered?
|
81
|
+
@valid_login_entered
|
78
82
|
end
|
79
83
|
|
80
84
|
def login_hidden_field
|
data/lib/rodauth/features/otp.rb
CHANGED
@@ -219,15 +219,17 @@ module Rodauth
|
|
219
219
|
end
|
220
220
|
|
221
221
|
def two_factor_authentication_setup?
|
222
|
-
|
222
|
+
return true if super
|
223
|
+
return false if @otp_tmp_key
|
224
|
+
otp_exists?
|
223
225
|
end
|
224
226
|
|
225
227
|
def two_factor_need_setup_redirect
|
226
|
-
|
228
|
+
otp_setup_path
|
227
229
|
end
|
228
230
|
|
229
231
|
def two_factor_auth_required_redirect
|
230
|
-
|
232
|
+
otp_auth_path
|
231
233
|
end
|
232
234
|
|
233
235
|
def two_factor_remove
|
@@ -388,6 +390,7 @@ module Rodauth
|
|
388
390
|
end
|
389
391
|
|
390
392
|
def _otp_tmp_key(secret)
|
393
|
+
@otp_tmp_key = true
|
391
394
|
@otp_user_key = nil
|
392
395
|
@otp_key = secret
|
393
396
|
end
|
@@ -8,7 +8,7 @@ module Rodauth
|
|
8
8
|
error_flash "Your password cannot be changed yet", 'password_not_changeable_yet'
|
9
9
|
|
10
10
|
redirect :password_not_changeable_yet
|
11
|
-
redirect(:password_change_needed){
|
11
|
+
redirect(:password_change_needed){change_password_path}
|
12
12
|
|
13
13
|
auth_value_method :allow_password_change_after, -86400
|
14
14
|
auth_value_method :require_password_change_after, 90*86400
|
@@ -23,8 +23,8 @@ module Rodauth
|
|
23
23
|
|
24
24
|
notice_flash "Additional authentication recovery codes have been added.", 'recovery_codes_added'
|
25
25
|
|
26
|
-
redirect(:recovery_auth){
|
27
|
-
redirect(:add_recovery_codes){
|
26
|
+
redirect(:recovery_auth){recovery_auth_path}
|
27
|
+
redirect(:add_recovery_codes){recovery_codes_path}
|
28
28
|
|
29
29
|
loaded_templates %w'add-recovery-codes recovery-auth recovery-codes password-field'
|
30
30
|
view 'add-recovery-codes', 'Authentication Recovery Codes', 'add_recovery_codes'
|
@@ -146,7 +146,7 @@ module Rodauth
|
|
146
146
|
end
|
147
147
|
|
148
148
|
def otp_auth_form_footer
|
149
|
-
"#{super if defined?(super)}<p><a href=\"#{
|
149
|
+
"#{super if defined?(super)}<p><a href=\"#{recovery_auth_path}\">Authenticate using recovery code</a></p>"
|
150
150
|
end
|
151
151
|
|
152
152
|
def otp_lockout_redirect
|
@@ -179,7 +179,7 @@ module Rodauth
|
|
179
179
|
end
|
180
180
|
|
181
181
|
def send_reset_password_email
|
182
|
-
create_reset_password_email
|
182
|
+
send_email(create_reset_password_email)
|
183
183
|
end
|
184
184
|
|
185
185
|
def reset_password_email_link
|
@@ -197,7 +197,7 @@ module Rodauth
|
|
197
197
|
end
|
198
198
|
|
199
199
|
def reset_password_request_link
|
200
|
-
"<p><a href=\"#{
|
200
|
+
"<p><a href=\"#{reset_password_request_path}\">Forgot Password?</a></p>"
|
201
201
|
end
|
202
202
|
|
203
203
|
def set_reset_password_email_last_sent
|
@@ -45,10 +45,10 @@ module Rodauth
|
|
45
45
|
redirect :sms_already_setup
|
46
46
|
redirect :sms_confirm
|
47
47
|
redirect :sms_disable
|
48
|
-
redirect(:sms_auth){
|
49
|
-
redirect(:sms_needs_confirmation){
|
50
|
-
redirect(:sms_needs_setup){
|
51
|
-
redirect(:sms_request){
|
48
|
+
redirect(:sms_auth){sms_auth_path}
|
49
|
+
redirect(:sms_needs_confirmation){sms_confirm_path}
|
50
|
+
redirect(:sms_needs_setup){sms_setup_path}
|
51
|
+
redirect(:sms_request){sms_request_path}
|
52
52
|
redirect(:sms_lockout){_two_factor_auth_required_redirect}
|
53
53
|
|
54
54
|
loaded_templates %w'sms-auth sms-confirm sms-disable sms-request sms-setup sms-code-field password-field'
|
@@ -311,7 +311,7 @@ module Rodauth
|
|
311
311
|
end
|
312
312
|
|
313
313
|
def otp_auth_form_footer
|
314
|
-
"#{super if defined?(super)}#{"<p><a href=\"#{
|
314
|
+
"#{super if defined?(super)}#{"<p><a href=\"#{sms_request_path}\">Authenticate using SMS code</a></p>" if sms_available?}"
|
315
315
|
end
|
316
316
|
|
317
317
|
def otp_lockout_redirect
|
@@ -201,7 +201,7 @@ module Rodauth
|
|
201
201
|
end
|
202
202
|
|
203
203
|
def send_verify_account_email
|
204
|
-
create_verify_account_email
|
204
|
+
send_email(create_verify_account_email)
|
205
205
|
end
|
206
206
|
|
207
207
|
def verify_account_email_link
|
@@ -225,7 +225,7 @@ module Rodauth
|
|
225
225
|
end
|
226
226
|
|
227
227
|
def verify_account_resend_link
|
228
|
-
"<p><a href=\"#{
|
228
|
+
"<p><a href=\"#{verify_account_resend_path}\">Resend Verify Account Information</a></p>"
|
229
229
|
end
|
230
230
|
|
231
231
|
def create_account_set_password?
|
data/lib/rodauth/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
<form action="#{rodauth.
|
1
|
+
<form action="#{rodauth.email_auth_request_path}" method="post" class="rodauth form-horizontal" role="form" id="email-auth-request-form">
|
2
2
|
#{rodauth.email_auth_request_additional_form_tags}
|
3
|
-
#{rodauth.csrf_tag(
|
3
|
+
#{rodauth.csrf_tag(rodauth.email_auth_request_path)}
|
4
4
|
#{rodauth.login_hidden_field}
|
5
5
|
#{rodauth.button(rodauth.email_auth_request_button)}
|
6
6
|
</form>
|
@@ -1,7 +1,7 @@
|
|
1
|
-
<form action="#{rodauth.
|
1
|
+
<form action="#{rodauth.reset_password_request_path}" method="post" class="rodauth form-horizontal" role="form" id="reset-password-request-form">
|
2
2
|
#{rodauth.reset_password_request_additional_form_tags}
|
3
|
-
#{rodauth.csrf_tag(
|
3
|
+
#{rodauth.csrf_tag(rodauth.reset_password_request_path)}
|
4
4
|
#{rodauth.reset_password_explanatory_text}
|
5
|
-
#{
|
5
|
+
#{rodauth.param_or_nil(rodauth.login_param) ? rodauth.login_hidden_field : rodauth.render('login-field')}
|
6
6
|
#{rodauth.button(rodauth.reset_password_request_button)}
|
7
7
|
</form>
|
@@ -1,7 +1,7 @@
|
|
1
|
-
<form action="#{rodauth.
|
1
|
+
<form action="#{rodauth.unlock_account_request_path}" method="post" class="rodauth form-horizontal" role="form" id="unlock-account-request-form">
|
2
2
|
#{rodauth.unlock_account_request_additional_form_tags}
|
3
|
-
#{rodauth.csrf_tag(
|
4
|
-
|
3
|
+
#{rodauth.csrf_tag(rodauth.unlock_account_request_path)}
|
4
|
+
#{rodauth.login_hidden_field}
|
5
5
|
#{rodauth.unlock_account_request_explanatory_text}
|
6
6
|
<input type="submit" class="btn btn-primary inline" value="#{rodauth.unlock_account_request_button}"/>
|
7
7
|
</form>
|
@@ -1,7 +1,7 @@
|
|
1
|
-
<form action="#{rodauth.
|
1
|
+
<form action="#{rodauth.verify_account_resend_path}" method="post" class="rodauth form-horizontal" role="form" id="verify-account-resend-form">
|
2
2
|
#{rodauth.verify_account_resend_additional_form_tags}
|
3
|
-
#{rodauth.csrf_tag(
|
3
|
+
#{rodauth.csrf_tag(rodauth.verify_account_resend_path)}
|
4
4
|
#{rodauth.verify_account_resend_explanatory_text}
|
5
|
-
#{
|
5
|
+
#{rodauth.param_or_nil(rodauth.login_param) ? rodauth.login_hidden_field : rodauth.render('login-field')}
|
6
6
|
#{rodauth.button(rodauth.verify_account_resend_button)}
|
7
7
|
</form>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rodauth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.23.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sequel
|
@@ -270,11 +270,11 @@ extra_rdoc_files:
|
|
270
270
|
- doc/release_notes/1.20.0.txt
|
271
271
|
- doc/release_notes/1.21.0.txt
|
272
272
|
- doc/release_notes/1.22.0.txt
|
273
|
+
- doc/release_notes/1.23.0.txt
|
273
274
|
files:
|
274
275
|
- CHANGELOG
|
275
276
|
- MIT-LICENSE
|
276
277
|
- README.rdoc
|
277
|
-
- Rakefile
|
278
278
|
- dict/top-10_000-passwords.txt
|
279
279
|
- doc/account_expiration.rdoc
|
280
280
|
- doc/base.rdoc
|
@@ -318,6 +318,7 @@ files:
|
|
318
318
|
- doc/release_notes/1.20.0.txt
|
319
319
|
- doc/release_notes/1.21.0.txt
|
320
320
|
- doc/release_notes/1.22.0.txt
|
321
|
+
- doc/release_notes/1.23.0.txt
|
321
322
|
- doc/release_notes/1.3.0.txt
|
322
323
|
- doc/release_notes/1.4.0.txt
|
323
324
|
- doc/release_notes/1.5.0.txt
|
@@ -376,45 +377,6 @@ files:
|
|
376
377
|
- lib/rodauth/features/verify_login_change.rb
|
377
378
|
- lib/rodauth/migrations.rb
|
378
379
|
- lib/rodauth/version.rb
|
379
|
-
- spec/account_expiration_spec.rb
|
380
|
-
- spec/all.rb
|
381
|
-
- spec/change_login_spec.rb
|
382
|
-
- spec/change_password_notify_spec.rb
|
383
|
-
- spec/change_password_spec.rb
|
384
|
-
- spec/close_account_spec.rb
|
385
|
-
- spec/confirm_password_spec.rb
|
386
|
-
- spec/create_account_spec.rb
|
387
|
-
- spec/disallow_common_passwords_spec.rb
|
388
|
-
- spec/disallow_password_reuse_spec.rb
|
389
|
-
- spec/email_auth_spec.rb
|
390
|
-
- spec/http_basic_auth_spec.rb
|
391
|
-
- spec/jwt_cors_spec.rb
|
392
|
-
- spec/jwt_refresh_spec.rb
|
393
|
-
- spec/jwt_spec.rb
|
394
|
-
- spec/lockout_spec.rb
|
395
|
-
- spec/login_spec.rb
|
396
|
-
- spec/migrate/001_tables.rb
|
397
|
-
- spec/migrate/002_account_password_hash_column.rb
|
398
|
-
- spec/migrate_password/001_tables.rb
|
399
|
-
- spec/migrate_travis/001_tables.rb
|
400
|
-
- spec/password_complexity_spec.rb
|
401
|
-
- spec/password_expiration_spec.rb
|
402
|
-
- spec/password_grace_period_spec.rb
|
403
|
-
- spec/remember_spec.rb
|
404
|
-
- spec/reset_password_spec.rb
|
405
|
-
- spec/rodauth_spec.rb
|
406
|
-
- spec/session_expiration_spec.rb
|
407
|
-
- spec/single_session_spec.rb
|
408
|
-
- spec/spec_helper.rb
|
409
|
-
- spec/two_factor_spec.rb
|
410
|
-
- spec/update_password_hash_spec.rb
|
411
|
-
- spec/verify_account_grace_period_spec.rb
|
412
|
-
- spec/verify_account_spec.rb
|
413
|
-
- spec/verify_change_login_spec.rb
|
414
|
-
- spec/verify_login_change_spec.rb
|
415
|
-
- spec/views/layout-other.str
|
416
|
-
- spec/views/layout.str
|
417
|
-
- spec/views/login.str
|
418
380
|
- templates/add-recovery-codes.str
|
419
381
|
- templates/button.str
|
420
382
|
- templates/change-login.str
|
@@ -488,7 +450,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
488
450
|
- !ruby/object:Gem::Version
|
489
451
|
version: '0'
|
490
452
|
requirements: []
|
491
|
-
rubygems_version: 3.
|
453
|
+
rubygems_version: 3.1.2
|
492
454
|
signing_key:
|
493
455
|
specification_version: 4
|
494
456
|
summary: Authentication and Account Management Framework for Rack Applications
|