rodauth 2.11.0 → 2.15.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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +28 -0
  3. data/README.rdoc +29 -7
  4. data/doc/active_sessions.rdoc +4 -0
  5. data/doc/base.rdoc +1 -0
  6. data/doc/error_reasons.rdoc +73 -0
  7. data/doc/internal_request.rdoc +463 -0
  8. data/doc/path_class_methods.rdoc +10 -0
  9. data/doc/release_notes/2.11.0.txt +1 -1
  10. data/doc/release_notes/2.12.0.txt +17 -0
  11. data/doc/release_notes/2.13.0.txt +19 -0
  12. data/doc/release_notes/2.14.0.txt +17 -0
  13. data/doc/release_notes/2.15.0.txt +48 -0
  14. data/doc/remember.rdoc +1 -0
  15. data/lib/rodauth.rb +9 -2
  16. data/lib/rodauth/features/active_sessions.rb +29 -8
  17. data/lib/rodauth/features/base.rb +26 -1
  18. data/lib/rodauth/features/change_login.rb +6 -4
  19. data/lib/rodauth/features/change_password.rb +5 -3
  20. data/lib/rodauth/features/close_account.rb +3 -1
  21. data/lib/rodauth/features/confirm_password.rb +2 -2
  22. data/lib/rodauth/features/create_account.rb +6 -4
  23. data/lib/rodauth/features/disallow_common_passwords.rb +1 -1
  24. data/lib/rodauth/features/disallow_password_reuse.rb +1 -1
  25. data/lib/rodauth/features/email_auth.rb +6 -0
  26. data/lib/rodauth/features/internal_request.rb +367 -0
  27. data/lib/rodauth/features/jwt_refresh.rb +1 -1
  28. data/lib/rodauth/features/lockout.rb +15 -4
  29. data/lib/rodauth/features/login.rb +6 -3
  30. data/lib/rodauth/features/login_password_requirements_base.rb +15 -6
  31. data/lib/rodauth/features/otp.rb +13 -6
  32. data/lib/rodauth/features/password_complexity.rb +4 -4
  33. data/lib/rodauth/features/path_class_methods.rb +22 -0
  34. data/lib/rodauth/features/recovery_codes.rb +6 -2
  35. data/lib/rodauth/features/remember.rb +25 -10
  36. data/lib/rodauth/features/reset_password.rb +8 -4
  37. data/lib/rodauth/features/session_expiration.rb +1 -0
  38. data/lib/rodauth/features/single_session.rb +1 -0
  39. data/lib/rodauth/features/sms_codes.rb +17 -5
  40. data/lib/rodauth/features/two_factor_base.rb +6 -1
  41. data/lib/rodauth/features/verify_account.rb +8 -1
  42. data/lib/rodauth/features/verify_account_grace_period.rb +1 -1
  43. data/lib/rodauth/features/verify_login_change.rb +5 -2
  44. data/lib/rodauth/features/webauthn.rb +15 -14
  45. data/lib/rodauth/features/webauthn_login.rb +1 -1
  46. data/lib/rodauth/version.rb +1 -1
  47. data/templates/button.str +1 -1
  48. data/templates/change-password.str +2 -2
  49. data/templates/global-logout-field.str +1 -1
  50. data/templates/login-confirm-field.str +2 -2
  51. data/templates/login-display.str +2 -2
  52. data/templates/login-field.str +2 -2
  53. data/templates/otp-auth-code-field.str +2 -2
  54. data/templates/otp-setup.str +2 -2
  55. data/templates/password-confirm-field.str +2 -2
  56. data/templates/password-field.str +2 -2
  57. data/templates/recovery-auth.str +2 -2
  58. data/templates/remember.str +1 -1
  59. data/templates/sms-code-field.str +2 -2
  60. data/templates/sms-setup.str +2 -2
  61. data/templates/unlock-account-email.str +1 -1
  62. data/templates/webauthn-remove.str +1 -1
  63. metadata +19 -3
@@ -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>
@@ -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)}
@@ -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')}
@@ -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')}
@@ -1,4 +1,4 @@
1
- Someone has requested a that the account with this email be unlocked.
1
+ Someone has requested that the account with this email be unlocked.
2
2
  If you did not request the unlocking of this account, please ignore this
3
3
  message. If you requested the unlocking of this account, please go to
4
4
  #{rodauth.unlock_account_email_link}
@@ -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.11.0
4
+ version: 2.15.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-03-22 00:00:00.000000000 Z
11
+ date: 2021-07-27 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
@@ -322,6 +325,10 @@ extra_rdoc_files:
322
325
  - doc/release_notes/2.1.0.txt
323
326
  - doc/release_notes/2.10.0.txt
324
327
  - doc/release_notes/2.11.0.txt
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
325
332
  - doc/release_notes/2.2.0.txt
326
333
  - doc/release_notes/2.3.0.txt
327
334
  - doc/release_notes/2.4.0.txt
@@ -350,6 +357,7 @@ files:
350
357
  - doc/disallow_password_reuse.rdoc
351
358
  - doc/email_auth.rdoc
352
359
  - doc/email_base.rdoc
360
+ - doc/error_reasons.rdoc
353
361
  - doc/guides/admin_activation.rdoc
354
362
  - doc/guides/already_authenticated.rdoc
355
363
  - doc/guides/alternative_login.rdoc
@@ -373,6 +381,7 @@ files:
373
381
  - doc/guides/status_column.rdoc
374
382
  - doc/guides/totp_or_recovery.rdoc
375
383
  - doc/http_basic_auth.rdoc
384
+ - doc/internal_request.rdoc
376
385
  - doc/json.rdoc
377
386
  - doc/jwt.rdoc
378
387
  - doc/jwt_cors.rdoc
@@ -386,6 +395,7 @@ files:
386
395
  - doc/password_expiration.rdoc
387
396
  - doc/password_grace_period.rdoc
388
397
  - doc/password_pepper.rdoc
398
+ - doc/path_class_methods.rdoc
389
399
  - doc/recovery_codes.rdoc
390
400
  - doc/release_notes/1.0.0.txt
391
401
  - doc/release_notes/1.1.0.txt
@@ -415,6 +425,10 @@ files:
415
425
  - doc/release_notes/2.1.0.txt
416
426
  - doc/release_notes/2.10.0.txt
417
427
  - doc/release_notes/2.11.0.txt
428
+ - doc/release_notes/2.12.0.txt
429
+ - doc/release_notes/2.13.0.txt
430
+ - doc/release_notes/2.14.0.txt
431
+ - doc/release_notes/2.15.0.txt
418
432
  - doc/release_notes/2.2.0.txt
419
433
  - doc/release_notes/2.3.0.txt
420
434
  - doc/release_notes/2.4.0.txt
@@ -456,6 +470,7 @@ files:
456
470
  - lib/rodauth/features/email_auth.rb
457
471
  - lib/rodauth/features/email_base.rb
458
472
  - lib/rodauth/features/http_basic_auth.rb
473
+ - lib/rodauth/features/internal_request.rb
459
474
  - lib/rodauth/features/json.rb
460
475
  - lib/rodauth/features/jwt.rb
461
476
  - lib/rodauth/features/jwt_cors.rb
@@ -469,6 +484,7 @@ files:
469
484
  - lib/rodauth/features/password_expiration.rb
470
485
  - lib/rodauth/features/password_grace_period.rb
471
486
  - lib/rodauth/features/password_pepper.rb
487
+ - lib/rodauth/features/path_class_methods.rb
472
488
  - lib/rodauth/features/recovery_codes.rb
473
489
  - lib/rodauth/features/remember.rb
474
490
  - lib/rodauth/features/reset_password.rb
@@ -568,7 +584,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
568
584
  - !ruby/object:Gem::Version
569
585
  version: '0'
570
586
  requirements: []
571
- rubygems_version: 3.2.3
587
+ rubygems_version: 3.2.22
572
588
  signing_key:
573
589
  specification_version: 4
574
590
  summary: Authentication and Account Management Framework for Rack Applications