rodauth 2.12.0 → 2.16.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.
- checksums.yaml +4 -4
- data/CHANGELOG +30 -0
- data/README.rdoc +50 -7
- data/doc/base.rdoc +1 -0
- data/doc/error_reasons.rdoc +73 -0
- data/doc/internal_request.rdoc +463 -0
- data/doc/path_class_methods.rdoc +10 -0
- data/doc/release_notes/2.13.0.txt +19 -0
- data/doc/release_notes/2.14.0.txt +17 -0
- data/doc/release_notes/2.15.0.txt +48 -0
- data/doc/release_notes/2.16.0.txt +20 -0
- data/doc/remember.rdoc +1 -0
- data/lib/rodauth/features/active_sessions.rb +1 -1
- data/lib/rodauth/features/base.rb +26 -1
- data/lib/rodauth/features/change_login.rb +6 -4
- data/lib/rodauth/features/change_password.rb +5 -3
- data/lib/rodauth/features/close_account.rb +3 -1
- data/lib/rodauth/features/confirm_password.rb +2 -2
- data/lib/rodauth/features/create_account.rb +6 -4
- data/lib/rodauth/features/disallow_common_passwords.rb +1 -1
- data/lib/rodauth/features/disallow_password_reuse.rb +1 -1
- data/lib/rodauth/features/email_auth.rb +6 -0
- data/lib/rodauth/features/internal_request.rb +371 -0
- data/lib/rodauth/features/jwt_refresh.rb +1 -1
- data/lib/rodauth/features/lockout.rb +15 -4
- data/lib/rodauth/features/login.rb +6 -3
- data/lib/rodauth/features/login_password_requirements_base.rb +15 -6
- data/lib/rodauth/features/otp.rb +13 -6
- data/lib/rodauth/features/password_complexity.rb +4 -4
- data/lib/rodauth/features/path_class_methods.rb +22 -0
- data/lib/rodauth/features/recovery_codes.rb +6 -2
- data/lib/rodauth/features/remember.rb +25 -10
- data/lib/rodauth/features/reset_password.rb +8 -4
- data/lib/rodauth/features/session_expiration.rb +1 -0
- data/lib/rodauth/features/single_session.rb +1 -0
- data/lib/rodauth/features/sms_codes.rb +17 -5
- data/lib/rodauth/features/two_factor_base.rb +6 -1
- data/lib/rodauth/features/verify_account.rb +8 -1
- data/lib/rodauth/features/verify_account_grace_period.rb +1 -1
- data/lib/rodauth/features/verify_login_change.rb +5 -2
- data/lib/rodauth/features/webauthn.rb +15 -14
- data/lib/rodauth/features/webauthn_login.rb +1 -1
- data/lib/rodauth/version.rb +1 -1
- data/lib/rodauth.rb +20 -2
- data/templates/button.str +1 -1
- data/templates/change-password.str +2 -2
- data/templates/global-logout-field.str +1 -1
- data/templates/login-confirm-field.str +2 -2
- data/templates/login-display.str +2 -2
- data/templates/login-field.str +2 -2
- data/templates/otp-auth-code-field.str +2 -2
- data/templates/otp-setup.str +2 -2
- data/templates/password-confirm-field.str +2 -2
- data/templates/password-field.str +2 -2
- data/templates/recovery-auth.str +2 -2
- data/templates/remember.str +1 -1
- data/templates/sms-code-field.str +2 -2
- data/templates/sms-setup.str +2 -2
- data/templates/webauthn-remove.str +1 -1
- metadata +19 -3
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="form-group">
|
1
|
+
<div class="form-group mb-3">
|
2
2
|
<div class="form-check checkbox">
|
3
3
|
<input type="checkbox" name="#{rodauth.global_logout_param}" class="form-check-input" id="global-logout" value="t"/>
|
4
4
|
<label class="rodauth-global-logout-label form-check-label" for="global-logout">#{rodauth.global_logout_label}</label>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="form-group">
|
2
|
-
<label for="login-confirm">#{rodauth.login_confirm_label}#{rodauth.input_field_label_suffix}</label>
|
1
|
+
<div class="form-group mb-3">
|
2
|
+
<label for="login-confirm" class="form-label">#{rodauth.login_confirm_label}#{rodauth.input_field_label_suffix}</label>
|
3
3
|
#{rodauth.input_field_string(rodauth.login_confirm_param, 'login-confirm', :type=>rodauth.login_input_type, :autocomplete=>rodauth.login_uses_email? ? "email" : "on")}
|
4
4
|
</div>
|
data/templates/login-display.str
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
<div class="form-group">
|
1
|
+
<div class="form-group mb-3">
|
2
2
|
#{rodauth.login_hidden_field}
|
3
|
-
<label for="login">#{rodauth.login_label}</label>
|
3
|
+
<label for="login" class="form-label">#{rodauth.login_label}</label>
|
4
4
|
<div class="form-control-plaintext form-control-static">#{h rodauth.param(rodauth.login_param)}</div>
|
5
5
|
</div>
|
data/templates/login-field.str
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="form-group">
|
2
|
-
<label for="login">#{rodauth.login_label}#{rodauth.input_field_label_suffix}</label>
|
1
|
+
<div class="form-group mb-3">
|
2
|
+
<label for="login" class="form-label">#{rodauth.login_label}#{rodauth.input_field_label_suffix}</label>
|
3
3
|
#{rodauth.input_field_string(rodauth.login_param, 'login', :type=>rodauth.login_input_type, :autocomplete=>rodauth.login_uses_email? ? "email" : "on")}
|
4
4
|
</div>
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<div class="form-group">
|
2
|
-
<label for="otp-auth-code">#{rodauth.otp_auth_label}#{rodauth.input_field_label_suffix}</label>
|
1
|
+
<div class="form-group mb-3">
|
2
|
+
<label for="otp-auth-code" class="form-label">#{rodauth.otp_auth_label}#{rodauth.input_field_label_suffix}</label>
|
3
3
|
<div class="row">
|
4
4
|
<div class="col-sm-3">
|
5
5
|
#{rodauth.input_field_string(rodauth.otp_auth_param, 'otp-auth-code', :value=>'', :autocomplete=>"off", :inputmode=>'numeric')}
|
data/templates/otp-setup.str
CHANGED
@@ -3,14 +3,14 @@
|
|
3
3
|
<input type="hidden" id="otp-key" name="#{rodauth.otp_setup_param}" value="#{rodauth.otp_user_key}" />
|
4
4
|
#{"<input type=\"hidden\" id=\"otp-hmac-secret\" name=\"#{rodauth.otp_setup_raw_param}\" value=\"#{rodauth.otp_key}\" />" if rodauth.otp_keys_use_hmac?}
|
5
5
|
#{rodauth.csrf_tag}
|
6
|
-
<div class="form-group">
|
6
|
+
<div class="form-group mb-3">
|
7
7
|
<p>#{rodauth.otp_secret_label}: #{rodauth.otp_user_key}</p>
|
8
8
|
<p>#{rodauth.otp_provisioning_uri_label}: #{rodauth.otp_provisioning_uri}</p>
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<div class="row">
|
12
12
|
<div class="col-lg-6 col-lg">
|
13
|
-
<div class="form-group">
|
13
|
+
<div class="form-group mb-3">
|
14
14
|
<p>#{rodauth.otp_qr_code}</p>
|
15
15
|
</div>
|
16
16
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="form-group">
|
2
|
-
<label for="password-confirm">#{rodauth.password_confirm_label}#{rodauth.input_field_label_suffix}</label>
|
1
|
+
<div class="form-group mb-3">
|
2
|
+
<label for="password-confirm" class="form-label">#{rodauth.password_confirm_label}#{rodauth.input_field_label_suffix}</label>
|
3
3
|
#{rodauth.input_field_string(rodauth.password_confirm_param, 'password-confirm', :type => 'password', :autocomplete=>'new-password')}
|
4
4
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="form-group">
|
2
|
-
<label for="password">#{rodauth.password_label}#{rodauth.input_field_label_suffix}</label>
|
1
|
+
<div class="form-group mb-3">
|
2
|
+
<label for="password" class="form-label">#{rodauth.password_label}#{rodauth.input_field_label_suffix}</label>
|
3
3
|
#{rodauth.input_field_string(rodauth.password_param, 'password', :type => 'password', :autocomplete=>rodauth.password_field_autocomplete_value)}
|
4
4
|
</div>
|
data/templates/recovery-auth.str
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
<form method="post" class="rodauth" role="form" id="recovery-auth-form">
|
2
2
|
#{rodauth.recovery_auth_additional_form_tags}
|
3
3
|
#{rodauth.csrf_tag}
|
4
|
-
<div class="form-group">
|
5
|
-
<label for="recovery-code">#{rodauth.recovery_codes_label}#{rodauth.input_field_label_suffix}</label>
|
4
|
+
<div class="form-group mb-3">
|
5
|
+
<label for="recovery-code" class="form-label">#{rodauth.recovery_codes_label}#{rodauth.input_field_label_suffix}</label>
|
6
6
|
#{rodauth.input_field_string(rodauth.recovery_codes_param, 'recovery-code', :value => '', :autocomplete=>'off')}
|
7
7
|
</div>
|
8
8
|
#{rodauth.button(rodauth.recovery_auth_button)}
|
data/templates/remember.str
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<form method="post" class="rodauth" role="form" id="remember-form">
|
2
2
|
#{rodauth.remember_additional_form_tags}
|
3
3
|
#{rodauth.csrf_tag}
|
4
|
-
<fieldset class="form-group">
|
4
|
+
<fieldset class="form-group mb-3">
|
5
5
|
<div class="form-check radio">
|
6
6
|
<input type="radio" name="#{rodauth.remember_param}" id="remember-remember" value="#{h rodauth.remember_remember_param_value}" class="form-check-input"/>
|
7
7
|
<label class="form-check-label" for="remember-remember">#{rodauth.remember_remember_label}</label>
|
@@ -1,5 +1,5 @@
|
|
1
|
-
<div class="form-group">
|
2
|
-
<label for="sms-code">#{rodauth.sms_code_label}#{rodauth.input_field_label_suffix}</label>
|
1
|
+
<div class="form-group mb-3">
|
2
|
+
<label for="sms-code" class="form-label">#{rodauth.sms_code_label}#{rodauth.input_field_label_suffix}</label>
|
3
3
|
<div class="row">
|
4
4
|
<div class="col-sm-3">
|
5
5
|
#{rodauth.input_field_string(rodauth.sms_code_param, 'sms-code', :value => '', :autocomplete=>'one-time-code', :inputmode=>'numeric')}
|
data/templates/sms-setup.str
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
#{rodauth.sms_setup_additional_form_tags}
|
3
3
|
#{rodauth.csrf_tag}
|
4
4
|
#{rodauth.render('password-field') if rodauth.two_factor_modifications_require_password?}
|
5
|
-
<div class="form-group">
|
6
|
-
<label for="sms-phone">#{rodauth.sms_phone_label}#{rodauth.input_field_label_suffix}</label>
|
5
|
+
<div class="form-group mb-3">
|
6
|
+
<label for="sms-phone" class="form-label">#{rodauth.sms_phone_label}#{rodauth.input_field_label_suffix}</label>
|
7
7
|
<div class="row">
|
8
8
|
<div class="col-sm-3">
|
9
9
|
#{rodauth.input_field_string(rodauth.sms_phone_param, 'sms-phone', :type=>rodauth.sms_phone_input_type, :autocomplete=>'tel')}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#{rodauth.webauthn_remove_additional_form_tags}
|
3
3
|
#{rodauth.csrf_tag}
|
4
4
|
#{rodauth.render('password-field') if rodauth.two_factor_modifications_require_password?}
|
5
|
-
<fieldset class="form-group">
|
5
|
+
<fieldset class="form-group mb-3">
|
6
6
|
#{(usage = rodauth.account_webauthn_usage; last_id = usage.keys.last; usage;).map do |id, last_use|
|
7
7
|
input = rodauth.input_field_string(rodauth.webauthn_remove_param, "webauthn-remove-#{h id}", :type=>'radio', :class=>"form-check-input", :skip_error_message=>true, :value=>id, :required=>false)
|
8
8
|
label = "<label class=\"rodauth-webauthn-id form-check-label\" for=\"webauthn-remove-#{h id}\">Last Use: #{last_use}</label>"
|
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: 2.
|
4
|
+
version: 2.16.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: 2021-
|
11
|
+
date: 2021-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sequel
|
@@ -266,7 +266,9 @@ extra_rdoc_files:
|
|
266
266
|
- doc/disallow_password_reuse.rdoc
|
267
267
|
- doc/email_auth.rdoc
|
268
268
|
- doc/email_base.rdoc
|
269
|
+
- doc/error_reasons.rdoc
|
269
270
|
- doc/http_basic_auth.rdoc
|
271
|
+
- doc/internal_request.rdoc
|
270
272
|
- doc/json.rdoc
|
271
273
|
- doc/jwt.rdoc
|
272
274
|
- doc/jwt_cors.rdoc
|
@@ -280,6 +282,7 @@ extra_rdoc_files:
|
|
280
282
|
- doc/password_expiration.rdoc
|
281
283
|
- doc/password_grace_period.rdoc
|
282
284
|
- doc/password_pepper.rdoc
|
285
|
+
- doc/path_class_methods.rdoc
|
283
286
|
- doc/recovery_codes.rdoc
|
284
287
|
- doc/remember.rdoc
|
285
288
|
- doc/reset_password.rdoc
|
@@ -323,6 +326,10 @@ extra_rdoc_files:
|
|
323
326
|
- doc/release_notes/2.10.0.txt
|
324
327
|
- doc/release_notes/2.11.0.txt
|
325
328
|
- doc/release_notes/2.12.0.txt
|
329
|
+
- doc/release_notes/2.13.0.txt
|
330
|
+
- doc/release_notes/2.14.0.txt
|
331
|
+
- doc/release_notes/2.15.0.txt
|
332
|
+
- doc/release_notes/2.16.0.txt
|
326
333
|
- doc/release_notes/2.2.0.txt
|
327
334
|
- doc/release_notes/2.3.0.txt
|
328
335
|
- doc/release_notes/2.4.0.txt
|
@@ -351,6 +358,7 @@ files:
|
|
351
358
|
- doc/disallow_password_reuse.rdoc
|
352
359
|
- doc/email_auth.rdoc
|
353
360
|
- doc/email_base.rdoc
|
361
|
+
- doc/error_reasons.rdoc
|
354
362
|
- doc/guides/admin_activation.rdoc
|
355
363
|
- doc/guides/already_authenticated.rdoc
|
356
364
|
- doc/guides/alternative_login.rdoc
|
@@ -374,6 +382,7 @@ files:
|
|
374
382
|
- doc/guides/status_column.rdoc
|
375
383
|
- doc/guides/totp_or_recovery.rdoc
|
376
384
|
- doc/http_basic_auth.rdoc
|
385
|
+
- doc/internal_request.rdoc
|
377
386
|
- doc/json.rdoc
|
378
387
|
- doc/jwt.rdoc
|
379
388
|
- doc/jwt_cors.rdoc
|
@@ -387,6 +396,7 @@ files:
|
|
387
396
|
- doc/password_expiration.rdoc
|
388
397
|
- doc/password_grace_period.rdoc
|
389
398
|
- doc/password_pepper.rdoc
|
399
|
+
- doc/path_class_methods.rdoc
|
390
400
|
- doc/recovery_codes.rdoc
|
391
401
|
- doc/release_notes/1.0.0.txt
|
392
402
|
- doc/release_notes/1.1.0.txt
|
@@ -417,6 +427,10 @@ files:
|
|
417
427
|
- doc/release_notes/2.10.0.txt
|
418
428
|
- doc/release_notes/2.11.0.txt
|
419
429
|
- doc/release_notes/2.12.0.txt
|
430
|
+
- doc/release_notes/2.13.0.txt
|
431
|
+
- doc/release_notes/2.14.0.txt
|
432
|
+
- doc/release_notes/2.15.0.txt
|
433
|
+
- doc/release_notes/2.16.0.txt
|
420
434
|
- doc/release_notes/2.2.0.txt
|
421
435
|
- doc/release_notes/2.3.0.txt
|
422
436
|
- doc/release_notes/2.4.0.txt
|
@@ -458,6 +472,7 @@ files:
|
|
458
472
|
- lib/rodauth/features/email_auth.rb
|
459
473
|
- lib/rodauth/features/email_base.rb
|
460
474
|
- lib/rodauth/features/http_basic_auth.rb
|
475
|
+
- lib/rodauth/features/internal_request.rb
|
461
476
|
- lib/rodauth/features/json.rb
|
462
477
|
- lib/rodauth/features/jwt.rb
|
463
478
|
- lib/rodauth/features/jwt_cors.rb
|
@@ -471,6 +486,7 @@ files:
|
|
471
486
|
- lib/rodauth/features/password_expiration.rb
|
472
487
|
- lib/rodauth/features/password_grace_period.rb
|
473
488
|
- lib/rodauth/features/password_pepper.rb
|
489
|
+
- lib/rodauth/features/path_class_methods.rb
|
474
490
|
- lib/rodauth/features/recovery_codes.rb
|
475
491
|
- lib/rodauth/features/remember.rb
|
476
492
|
- lib/rodauth/features/reset_password.rb
|
@@ -570,7 +586,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
570
586
|
- !ruby/object:Gem::Version
|
571
587
|
version: '0'
|
572
588
|
requirements: []
|
573
|
-
rubygems_version: 3.2.
|
589
|
+
rubygems_version: 3.2.22
|
574
590
|
signing_key:
|
575
591
|
specification_version: 4
|
576
592
|
summary: Authentication and Account Management Framework for Rack Applications
|