authentication-zero 2.11.2 → 2.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +1 -1
  5. data/lib/authentication_zero/version.rb +1 -1
  6. data/lib/generators/authentication/USAGE +1 -1
  7. data/lib/generators/authentication/authentication_generator.rb +6 -6
  8. data/lib/generators/authentication/templates/controllers/api/authentications/events_controller.rb.tt +1 -1
  9. data/lib/generators/authentication/templates/controllers/api/identity/email_verifications_controller.rb.tt +9 -7
  10. data/lib/generators/authentication/templates/controllers/api/identity/emails_controller.rb.tt +15 -8
  11. data/lib/generators/authentication/templates/controllers/api/identity/password_resets_controller.rb.tt +9 -9
  12. data/lib/generators/authentication/templates/controllers/api/passwords_controller.rb.tt +8 -8
  13. data/lib/generators/authentication/templates/controllers/api/registrations_controller.rb.tt +5 -5
  14. data/lib/generators/authentication/templates/controllers/api/sessions/sudos_controller.rb.tt +1 -1
  15. data/lib/generators/authentication/templates/controllers/api/sessions_controller.rb.tt +5 -5
  16. data/lib/generators/authentication/templates/controllers/html/authentications/events_controller.rb.tt +1 -1
  17. data/lib/generators/authentication/templates/controllers/html/identity/email_verifications_controller.rb.tt +5 -5
  18. data/lib/generators/authentication/templates/controllers/html/identity/emails_controller.rb.tt +13 -6
  19. data/lib/generators/authentication/templates/controllers/html/identity/password_resets_controller.rb.tt +7 -7
  20. data/lib/generators/authentication/templates/controllers/html/passwords_controller.rb.tt +6 -6
  21. data/lib/generators/authentication/templates/controllers/html/registrations_controller.rb.tt +5 -5
  22. data/lib/generators/authentication/templates/controllers/html/sessions/omniauth_controller.rb.tt +4 -4
  23. data/lib/generators/authentication/templates/controllers/html/sessions/sudos_controller.rb.tt +2 -2
  24. data/lib/generators/authentication/templates/controllers/html/sessions_controller.rb.tt +9 -9
  25. data/lib/generators/authentication/templates/controllers/html/two_factor_authentication/challenges_controller.rb.tt +5 -5
  26. data/lib/generators/authentication/templates/controllers/html/two_factor_authentication/totps_controller.rb.tt +13 -6
  27. data/lib/generators/authentication/templates/erb/authentications/events/{index.html.erb → index.html.erb.tt} +8 -8
  28. data/lib/generators/authentication/templates/erb/identity/emails/edit.html.erb.tt +6 -4
  29. data/lib/generators/authentication/templates/erb/identity/password_resets/edit.html.erb.tt +3 -3
  30. data/lib/generators/authentication/templates/erb/passwords/edit.html.erb.tt +3 -3
  31. data/lib/generators/authentication/templates/erb/registrations/new.html.erb.tt +3 -3
  32. data/lib/generators/authentication/templates/erb/session_mailer/signed_in_notification.html.erb.tt +1 -1
  33. data/lib/generators/authentication/templates/erb/session_mailer/signed_in_notification.text.erb.tt +1 -1
  34. data/lib/generators/authentication/templates/erb/sessions/new.html.erb.tt +3 -2
  35. data/lib/generators/authentication/templates/erb/two_factor_authentication/totps/new.html.erb.tt +2 -0
  36. data/lib/generators/authentication/templates/erb/{identity_mailer → user_mailer}/email_verify_confirmation.html.erb.tt +2 -2
  37. data/lib/generators/authentication/templates/erb/{identity_mailer → user_mailer}/email_verify_confirmation.text.erb.tt +2 -2
  38. data/lib/generators/authentication/templates/erb/{identity_mailer → user_mailer}/password_reset_provision.html.erb.tt +1 -1
  39. data/lib/generators/authentication/templates/erb/{identity_mailer → user_mailer}/password_reset_provision.text.erb.tt +1 -1
  40. data/lib/generators/authentication/templates/mailers/session_mailer.rb.tt +1 -1
  41. data/lib/generators/authentication/templates/mailers/user_mailer.rb.tt +19 -0
  42. data/lib/generators/authentication/templates/migrations/create_events_migration.rb.tt +1 -1
  43. data/lib/generators/authentication/templates/migrations/create_sessions_migration.rb.tt +1 -1
  44. data/lib/generators/authentication/templates/migrations/{create_table_migration.rb.tt → create_users_migration.rb.tt} +3 -3
  45. data/lib/generators/authentication/templates/models/current.rb.tt +2 -2
  46. data/lib/generators/authentication/templates/models/event.rb.tt +1 -1
  47. data/lib/generators/authentication/templates/models/session.rb.tt +3 -3
  48. data/lib/generators/authentication/templates/models/{model.rb.tt → user.rb.tt} +2 -2
  49. data/lib/generators/authentication/templates/test_unit/application_system_test_case.rb.tt +3 -3
  50. data/lib/generators/authentication/templates/test_unit/controllers/api/identity/email_verifications_controller_test.rb.tt +9 -9
  51. data/lib/generators/authentication/templates/test_unit/controllers/api/identity/emails_controller_test.rb.tt +1 -1
  52. data/lib/generators/authentication/templates/test_unit/controllers/api/identity/password_resets_controller_test.rb.tt +7 -7
  53. data/lib/generators/authentication/templates/test_unit/controllers/api/passwords_controller_test.rb.tt +1 -1
  54. data/lib/generators/authentication/templates/test_unit/controllers/api/registrations_controller_test.rb.tt +1 -1
  55. data/lib/generators/authentication/templates/test_unit/controllers/api/sessions_controller_test.rb.tt +6 -6
  56. data/lib/generators/authentication/templates/test_unit/controllers/html/identity/email_verifications_controller_test.rb.tt +9 -9
  57. data/lib/generators/authentication/templates/test_unit/controllers/html/identity/emails_controller_test.rb.tt +1 -1
  58. data/lib/generators/authentication/templates/test_unit/controllers/html/identity/password_resets_controller_test.rb.tt +7 -7
  59. data/lib/generators/authentication/templates/test_unit/controllers/html/passwords_controller_test.rb.tt +1 -1
  60. data/lib/generators/authentication/templates/test_unit/controllers/html/registrations_controller_test.rb.tt +1 -1
  61. data/lib/generators/authentication/templates/test_unit/controllers/html/sessions_controller_test.rb.tt +8 -8
  62. data/lib/generators/authentication/templates/test_unit/system/identity/emails_test.rb.tt +2 -2
  63. data/lib/generators/authentication/templates/test_unit/system/identity/password_resets_test.rb.tt +3 -3
  64. data/lib/generators/authentication/templates/test_unit/system/passwords_test.rb.tt +1 -1
  65. data/lib/generators/authentication/templates/test_unit/system/sessions_test.rb.tt +4 -4
  66. data/lib/generators/authentication/templates/test_unit/test_helper.rb.tt +4 -4
  67. data/lib/generators/authentication/templates/test_unit/{fixtures.yml.tt → users.yml.tt} +0 -0
  68. metadata +11 -11
  69. data/lib/generators/authentication/templates/mailers/identity_mailer.rb.tt +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 650afdee62e14e099849af5cc58536c67b0cbdc0164e69d02a085c5e556cdfa1
4
- data.tar.gz: 3435f8fc73fe7c7ff04a18b1dacd27b6d24c72d58ac2d98966d69228fd177a55
3
+ metadata.gz: 65673b94c25fddcc0a7bdd31d9dd4a15062dd863b464e712b248b2d4dc2b280e
4
+ data.tar.gz: b3012f74b8981d7f2189bd67c08a098412b48c50b763ec509c45ea19c8e1c4f3
5
5
  SHA512:
6
- metadata.gz: cbec3a074fa00aa2f492c58b6940266de7e61502e7957e4f096d479a74f5a0663e5160e82289888fa7cff7b2138b3bd4472f6dd0e41ca48e4f5592b3dfd89e08
7
- data.tar.gz: b2d51d9c1b6b562893d1a324c7904a9450dfa85858ecc3a6a18a8bf4f7230b3c8943e18b7f899312b0acd7e0b70f2464ce645144682d9cb73cbc9c62bc6f838a
6
+ metadata.gz: dd34f0996158fad54a8514e7ff897db876898e99a00e5ad04181be8747e4886dc27be9b0e2b4b1f965427df05b3ab899920dcf8ffb310c4cb16701d91f28781d
7
+ data.tar.gz: c2ada3dffc843ad15589db3ba23be0dc80c87a110b53d6d24965957d3a736fc8258074da308ffb2bf08de0d59f4b772a4edb639f8bad107be4f98513006ecf22
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## Authentication Zero 2.12.0 (March 28, 2022) ##
2
+
3
+ * Remove model option from generator
4
+
1
5
  ## Authentication Zero 2.11.0 (March 27, 2022) ##
2
6
 
3
7
  * Remove sudo from default generator
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- authentication-zero (2.11.2)
4
+ authentication-zero (2.12.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -100,7 +100,7 @@ config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
100
100
  ## Usage
101
101
 
102
102
  ```
103
- rails generate authentication user
103
+ rails generate authentication
104
104
  ```
105
105
 
106
106
  Then run `bundle install` again!
@@ -1,3 +1,3 @@
1
1
  module AuthenticationZero
2
- VERSION = "2.11.2"
2
+ VERSION = "2.12.0"
3
3
  end
@@ -8,4 +8,4 @@ Description:
8
8
  to modify the authentication system so it works best with their app.
9
9
 
10
10
  Example:
11
- bin/rails generate authentication user
11
+ bin/rails generate authentication
@@ -1,6 +1,6 @@
1
1
  require "rails/generators/active_record"
2
2
 
3
- class AuthenticationGenerator < Rails::Generators::NamedBase
3
+ class AuthenticationGenerator < Rails::Generators::Base
4
4
  include ActiveRecord::Generators::Migration
5
5
 
6
6
  class_option :api, type: :boolean, desc: "Generates API authentication"
@@ -54,13 +54,13 @@ class AuthenticationGenerator < Rails::Generators::NamedBase
54
54
  end
55
55
 
56
56
  def create_migrations
57
- migration_template "migrations/create_table_migration.rb", "#{db_migrate_path}/create_#{table_name}.rb"
57
+ migration_template "migrations/create_users_migration.rb", "#{db_migrate_path}/create_users.rb"
58
58
  migration_template "migrations/create_sessions_migration.rb", "#{db_migrate_path}/create_sessions.rb"
59
59
  migration_template "migrations/create_events_migration.rb", "#{db_migrate_path}/create_events.rb" if options.trackable?
60
60
  end
61
61
 
62
62
  def create_models
63
- template "models/model.rb", "app/models/#{file_name}.rb"
63
+ template "models/user.rb", "app/models/user.rb"
64
64
  template "models/session.rb", "app/models/session.rb"
65
65
  template "models/current.rb", "app/models/current.rb"
66
66
  template "models/locking.rb", "app/models/locking.rb" if options.lockable?
@@ -68,7 +68,7 @@ class AuthenticationGenerator < Rails::Generators::NamedBase
68
68
  end
69
69
 
70
70
  def create_fixture_file
71
- template "test_unit/fixtures.yml", "test/fixtures/#{fixture_file_name}.yml"
71
+ template "test_unit/users.yml", "test/fixtures/users.yml"
72
72
  end
73
73
 
74
74
  def create_controllers
@@ -86,10 +86,10 @@ class AuthenticationGenerator < Rails::Generators::NamedBase
86
86
 
87
87
  def create_views
88
88
  if options.api?
89
- directory "erb/identity_mailer", "app/views/identity_mailer"
89
+ directory "erb/user_mailer", "app/views/user_mailer"
90
90
  directory "erb/session_mailer", "app/views/session_mailer"
91
91
  else
92
- directory "erb/identity_mailer", "app/views/identity_mailer"
92
+ directory "erb/user_mailer", "app/views/user_mailer"
93
93
  directory "erb/session_mailer", "app/views/session_mailer"
94
94
 
95
95
  directory "erb/identity", "app/views/identity"
@@ -1,5 +1,5 @@
1
1
  class Authentications::EventsController < ApplicationController
2
2
  def index
3
- render json: Current.<%= singular_table_name %>.events.order(created_at: :desc)
3
+ render json: Current.user.events.order(created_at: :desc)
4
4
  end
5
5
  end
@@ -1,26 +1,28 @@
1
1
  class Identity::EmailVerificationsController < ApplicationController
2
2
  skip_before_action :authenticate, only: :edit
3
3
 
4
- before_action :set_<%= singular_table_name %>, only: :edit
4
+ before_action :set_user, only: :edit
5
5
 
6
6
  def edit
7
- @<%= singular_table_name %>.update! verified: true
7
+ @user.update! verified: true
8
8
  end
9
9
 
10
10
  def create
11
- IdentityMailer.with(<%= singular_table_name %>: Current.<%= singular_table_name %>).email_verify_confirmation.deliver_later
11
+ UserMailer.with(user: Current.user).email_verify_confirmation.deliver_later
12
12
  end
13
13
 
14
14
  private
15
- def set_<%= singular_table_name %>
15
+ def set_user
16
16
  <%- if code_verifiable? -%>
17
- @<%= singular_table_name %> = <%= class_name %>.find_by(email: params[:email])
17
+ verified_user = User.find_by(email: params[:email])
18
18
 
19
- unless @<%= singular_table_name %> && @<%= singular_table_name %>.verification_code.value == params[:token]
19
+ if verified_user && verified_user.verification_code.value == params[:token]
20
+ @user = verified_user
21
+ else
20
22
  render json: { error: "That email verification code is invalid" }, status: :bad_request
21
23
  end
22
24
  <%- else -%>
23
- @<%= singular_table_name %> = <%= class_name %>.where(email: params[:email]).find_signed!(params[:token], purpose: params[:email])
25
+ @user = User.where(email: params[:email]).find_signed!(params[:token], purpose: params[:email])
24
26
  rescue
25
27
  render json: { error: "That email verification link is invalid" }, status: :bad_request
26
28
  <%- end -%>
@@ -1,22 +1,29 @@
1
1
  class Identity::EmailsController < ApplicationController
2
- before_action :set_<%= singular_table_name %>
2
+ <%- if options.sudoable? -%>
3
+ before_action :require_sudo
4
+ <%- end -%>
5
+ before_action :set_user
3
6
 
4
7
  def update
5
- if !@<%= singular_table_name %>.authenticate(params[:current_password])
8
+ <%- unless options.sudoable? -%>
9
+ if !@user.authenticate(params[:current_password])
6
10
  render json: { error: "The password you entered is incorrect" }, status: :bad_request
7
- elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
8
- render json: @<%= singular_table_name %>
11
+ elsif @user.update(user_params)
12
+ <%- else -%>
13
+ if @user.update(user_params)
14
+ <%- end -%>
15
+ render json: @user
9
16
  else
10
- render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
17
+ render json: @user.errors, status: :unprocessable_entity
11
18
  end
12
19
  end
13
20
 
14
21
  private
15
- def set_<%= singular_table_name %>
16
- @<%= singular_table_name %> = Current.<%= singular_table_name %>
22
+ def set_user
23
+ @user = Current.user
17
24
  end
18
25
 
19
- def <%= "#{singular_table_name}_params" %>
26
+ def user_params
20
27
  params.permit(:email)
21
28
  end
22
29
  end
@@ -4,32 +4,32 @@ class Identity::PasswordResetsController < ApplicationController
4
4
  <%- if options.lockable? -%>
5
5
  before_action :require_locking, only: :create
6
6
  <%- end -%>
7
- before_action :set_<%= singular_table_name %>, only: :update
7
+ before_action :set_user, only: :update
8
8
 
9
9
  def create
10
- if @<%= singular_table_name %> = <%= class_name %>.find_by(email: params[:email], verified: true)
11
- IdentityMailer.with(<%= singular_table_name %>: @<%= singular_table_name %>).password_reset_provision.deliver_later
10
+ if @user = User.find_by(email: params[:email], verified: true)
11
+ UserMailer.with(user: @user).password_reset_provision.deliver_later
12
12
  else
13
13
  render json: { error: "You can't reset your password until you verify your email" }, status: :not_found
14
14
  end
15
15
  end
16
16
 
17
17
  def update
18
- if @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
19
- render json: @<%= singular_table_name %>
18
+ if @user.update(user_params)
19
+ render json: @user
20
20
  else
21
- render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
21
+ render json: @user.errors, status: :unprocessable_entity
22
22
  end
23
23
  end
24
24
 
25
25
  private
26
- def set_<%= singular_table_name %>
27
- @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:token], purpose: :password_reset)
26
+ def set_user
27
+ @user = User.find_signed!(params[:token], purpose: :password_reset)
28
28
  rescue
29
29
  render json: { error: "That password reset link is invalid" }, status: :bad_request
30
30
  end
31
31
 
32
- def <%= "#{singular_table_name}_params" %>
32
+ def user_params
33
33
  params.permit(:password, :password_confirmation)
34
34
  end
35
35
  <%- if options.lockable? %>
@@ -1,22 +1,22 @@
1
1
  class PasswordsController < ApplicationController
2
- before_action :set_<%= singular_table_name %>
2
+ before_action :set_user
3
3
 
4
4
  def update
5
- if !@<%= singular_table_name %>.authenticate(params[:current_password])
5
+ if !@user.authenticate(params[:current_password])
6
6
  render json: { error: "The current password you entered is incorrect" }, status: :bad_request
7
- elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
8
- render json: @<%= singular_table_name %>
7
+ elsif @user.update(user_params)
8
+ render json: @user
9
9
  else
10
- render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
10
+ render json: @user.errors, status: :unprocessable_entity
11
11
  end
12
12
  end
13
13
 
14
14
  private
15
- def set_<%= singular_table_name %>
16
- @<%= singular_table_name %> = Current.<%= singular_table_name %>
15
+ def set_user
16
+ @user = Current.user
17
17
  end
18
18
 
19
- def <%= "#{singular_table_name}_params" %>
19
+ def user_params
20
20
  params.permit(:password, :password_confirmation)
21
21
  end
22
22
  end
@@ -2,17 +2,17 @@ class RegistrationsController < ApplicationController
2
2
  skip_before_action :authenticate
3
3
 
4
4
  def create
5
- @<%= singular_table_name %> = <%= class_name %>.new(<%= "#{singular_table_name}_params" %>)
5
+ @user = User.new(user_params)
6
6
 
7
- if @<%= singular_table_name %>.save
8
- render json: @<%= singular_table_name %>, status: :created
7
+ if @user.save
8
+ render json: @user, status: :created
9
9
  else
10
- render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
10
+ render json: @user.errors, status: :unprocessable_entity
11
11
  end
12
12
  end
13
13
 
14
14
  private
15
- def <%= "#{singular_table_name}_params" %>
15
+ def user_params
16
16
  params.permit(:email, :password, :password_confirmation)
17
17
  end
18
18
  end
@@ -2,7 +2,7 @@ class Sessions::SudosController < ApplicationController
2
2
  def create
3
3
  session = Current.session
4
4
 
5
- if session.<%= singular_table_name %>.authenticate(params[:password])
5
+ if session.user.authenticate(params[:password])
6
6
  session.sudo.mark
7
7
  else
8
8
  render json: { error: "The password you entered is incorrect" }, status: :bad_request
@@ -4,7 +4,7 @@ class SessionsController < ApplicationController
4
4
  before_action :set_session, only: %i[ show destroy ]
5
5
 
6
6
  def index
7
- render json: Current.<%= singular_table_name %>.sessions.order(created_at: :desc)
7
+ render json: Current.user.sessions.order(created_at: :desc)
8
8
  end
9
9
 
10
10
  def show
@@ -12,10 +12,10 @@ class SessionsController < ApplicationController
12
12
  end
13
13
 
14
14
  def create
15
- <%= singular_table_name %> = <%= class_name %>.find_by(email: params[:email])
15
+ user = User.find_by(email: params[:email])
16
16
 
17
- if <%= singular_table_name %> && <%= singular_table_name %>.authenticate(params[:password])
18
- @session = <%= singular_table_name %>.sessions.create!
17
+ if user && user.authenticate(params[:password])
18
+ @session = user.sessions.create!
19
19
  response.set_header("X-Session-Token", @session.signed_id)
20
20
 
21
21
  render json: @session, status: :created
@@ -30,6 +30,6 @@ class SessionsController < ApplicationController
30
30
 
31
31
  private
32
32
  def set_session
33
- @session = Current.<%= singular_table_name %>.sessions.find(params[:id])
33
+ @session = Current.user.sessions.find(params[:id])
34
34
  end
35
35
  end
@@ -1,5 +1,5 @@
1
1
  class Authentications::EventsController < ApplicationController
2
2
  def index
3
- @events = Current.<%= singular_table_name %>.events.order(created_at: :desc)
3
+ @events = Current.user.events.order(created_at: :desc)
4
4
  end
5
5
  end
@@ -1,21 +1,21 @@
1
1
  class Identity::EmailVerificationsController < ApplicationController
2
2
  skip_before_action :authenticate, only: :edit
3
3
 
4
- before_action :set_<%= singular_table_name %>, only: :edit
4
+ before_action :set_user, only: :edit
5
5
 
6
6
  def edit
7
- @<%= singular_table_name %>.update! verified: true
7
+ @user.update! verified: true
8
8
  redirect_to root_path, notice: "Thank you for verifying your email address"
9
9
  end
10
10
 
11
11
  def create
12
- IdentityMailer.with(<%= singular_table_name %>: Current.<%= singular_table_name %>).email_verify_confirmation.deliver_later
12
+ UserMailer.with(user: Current.user).email_verify_confirmation.deliver_later
13
13
  redirect_to root_path, notice: "We sent a verification email to your email address"
14
14
  end
15
15
 
16
16
  private
17
- def set_<%= singular_table_name %>
18
- @<%= singular_table_name %> = <%= class_name %>.where(email: params[:email]).find_signed!(params[:token], purpose: params[:email])
17
+ def set_user
18
+ @user = User.where(email: params[:email]).find_signed!(params[:token], purpose: params[:email])
19
19
  rescue
20
20
  redirect_to edit_identity_email_path, alert: "That email verification link is invalid"
21
21
  end
@@ -1,13 +1,20 @@
1
1
  class Identity::EmailsController < ApplicationController
2
- before_action :set_<%= singular_table_name %>
2
+ <%- if options.sudoable? -%>
3
+ before_action :require_sudo
4
+ <%- end -%>
5
+ before_action :set_user
3
6
 
4
7
  def edit
5
8
  end
6
9
 
7
10
  def update
8
- if !@<%= singular_table_name %>.authenticate(params[:current_password])
11
+ <%- unless options.sudoable? -%>
12
+ if !@user.authenticate(params[:current_password])
9
13
  redirect_to edit_identity_email_path, alert: "The password you entered is incorrect"
10
- elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
14
+ elsif @user.update(user_params)
15
+ <%- else -%>
16
+ if @user.update(user_params)
17
+ <%- end -%>
11
18
  redirect_to root_path, notice: "Your email has been changed"
12
19
  else
13
20
  render :edit, status: :unprocessable_entity
@@ -15,11 +22,11 @@ class Identity::EmailsController < ApplicationController
15
22
  end
16
23
 
17
24
  private
18
- def set_<%= singular_table_name %>
19
- @<%= singular_table_name %> = Current.<%= singular_table_name %>
25
+ def set_user
26
+ @user = Current.user
20
27
  end
21
28
 
22
- def <%= "#{singular_table_name}_params" %>
29
+ def user_params
23
30
  params.permit(:email)
24
31
  end
25
32
  end
@@ -4,7 +4,7 @@ class Identity::PasswordResetsController < ApplicationController
4
4
  <%- if options.lockable? -%>
5
5
  before_action :require_locking, only: :create
6
6
  <%- end -%>
7
- before_action :set_<%= singular_table_name %>, only: %i[ edit update ]
7
+ before_action :set_user, only: %i[ edit update ]
8
8
 
9
9
  def new
10
10
  end
@@ -13,8 +13,8 @@ class Identity::PasswordResetsController < ApplicationController
13
13
  end
14
14
 
15
15
  def create
16
- if @<%= singular_table_name %> = <%= class_name %>.find_by(email: params[:email], verified: true)
17
- IdentityMailer.with(<%= singular_table_name %>: @<%= singular_table_name %>).password_reset_provision.deliver_later
16
+ if @user = User.find_by(email: params[:email], verified: true)
17
+ UserMailer.with(user: @user).password_reset_provision.deliver_later
18
18
  redirect_to sign_in_path, notice: "Check your email for reset instructions"
19
19
  else
20
20
  redirect_to new_identity_password_reset_path, alert: "You can't reset your password until you verify your email"
@@ -22,7 +22,7 @@ class Identity::PasswordResetsController < ApplicationController
22
22
  end
23
23
 
24
24
  def update
25
- if @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
25
+ if @user.update(user_params)
26
26
  redirect_to sign_in_path, notice: "Your password was reset successfully. Please sign in"
27
27
  else
28
28
  render :edit, status: :unprocessable_entity
@@ -30,13 +30,13 @@ class Identity::PasswordResetsController < ApplicationController
30
30
  end
31
31
 
32
32
  private
33
- def set_<%= singular_table_name %>
34
- @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:token], purpose: :password_reset)
33
+ def set_user
34
+ @user = User.find_signed!(params[:token], purpose: :password_reset)
35
35
  rescue
36
36
  redirect_to new_identity_password_reset_path, alert: "That password reset link is invalid"
37
37
  end
38
38
 
39
- def <%= "#{singular_table_name}_params" %>
39
+ def user_params
40
40
  params.permit(:password, :password_confirmation)
41
41
  end
42
42
  <%- if options.lockable? %>
@@ -1,13 +1,13 @@
1
1
  class PasswordsController < ApplicationController
2
- before_action :set_<%= singular_table_name %>
2
+ before_action :set_user
3
3
 
4
4
  def edit
5
5
  end
6
6
 
7
7
  def update
8
- if !@<%= singular_table_name %>.authenticate(params[:current_password])
8
+ if !@user.authenticate(params[:current_password])
9
9
  redirect_to edit_password_path, alert: "The current password you entered is incorrect"
10
- elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
10
+ elsif @user.update(user_params)
11
11
  redirect_to root_path, notice: "Your password has been changed"
12
12
  else
13
13
  render :edit, status: :unprocessable_entity
@@ -15,11 +15,11 @@ class PasswordsController < ApplicationController
15
15
  end
16
16
 
17
17
  private
18
- def set_<%= singular_table_name %>
19
- @<%= singular_table_name %> = Current.<%= singular_table_name %>
18
+ def set_user
19
+ @user = Current.user
20
20
  end
21
21
 
22
- def <%= "#{singular_table_name}_params" %>
22
+ def user_params
23
23
  params.permit(:password, :password_confirmation)
24
24
  end
25
25
  end
@@ -2,14 +2,14 @@ class RegistrationsController < ApplicationController
2
2
  skip_before_action :authenticate
3
3
 
4
4
  def new
5
- @<%= singular_table_name %> = <%= class_name %>.new
5
+ @user = User.new
6
6
  end
7
7
 
8
8
  def create
9
- @<%= singular_table_name %> = <%= class_name %>.new(<%= "#{singular_table_name}_params" %>)
9
+ @user = User.new(user_params)
10
10
 
11
- if @<%= singular_table_name %>.save
12
- session = @<%= singular_table_name %>.sessions.create!
11
+ if @user.save
12
+ session = @user.sessions.create!
13
13
  cookies.signed.permanent[:session_token] = { value: session.id, httponly: true }
14
14
 
15
15
  redirect_to root_path, notice: "Welcome! You have signed up successfully"
@@ -19,7 +19,7 @@ class RegistrationsController < ApplicationController
19
19
  end
20
20
 
21
21
  private
22
- def <%= "#{singular_table_name}_params" %>
22
+ def user_params
23
23
  params.permit(:email, :password, :password_confirmation)
24
24
  end
25
25
  end
@@ -3,10 +3,10 @@ class Sessions::OmniauthController < ApplicationController
3
3
  skip_before_action :authenticate
4
4
 
5
5
  def create
6
- @<%= singular_table_name %> = <%= class_name %>.where(omniauth_params).first_or_initialize(<%= "#{singular_table_name}_params" %>)
6
+ @user = User.where(omniauth_params).first_or_initialize(user_params)
7
7
 
8
- if @<%= singular_table_name %>.save
9
- session = @<%= singular_table_name %>.sessions.create!
8
+ if @user.save
9
+ session = @user.sessions.create!
10
10
  cookies.signed.permanent[:session_token] = { value: session.id, httponly: true }
11
11
 
12
12
  redirect_to root_path, notice: "Signed in successfully"
@@ -24,7 +24,7 @@ class Sessions::OmniauthController < ApplicationController
24
24
  { provider: omniauth.provider, uid: omniauth.uid }
25
25
  end
26
26
 
27
- def <%= "#{singular_table_name}_params" %>
27
+ def user_params
28
28
  { email: omniauth.info.email, password: SecureRandom::base58, verified: true }
29
29
  end
30
30
 
@@ -6,9 +6,9 @@ class Sessions::SudosController < ApplicationController
6
6
  session = Current.session
7
7
 
8
8
  <%- if omniauthable? -%>
9
- if session.<%= singular_table_name %>.authenticate(params[:password]) || session.<%= singular_table_name %>.provider
9
+ if session.user.authenticate(params[:password]) || session.user.provider
10
10
  <%- else -%>
11
- if session.<%= singular_table_name %>.authenticate(params[:password])
11
+ if session.user.authenticate(params[:password])
12
12
  <%- end -%>
13
13
  session.sudo.mark; redirect_to(params[:proceed_to_url])
14
14
  else
@@ -4,30 +4,30 @@ class SessionsController < ApplicationController
4
4
  before_action :set_session, only: :destroy
5
5
 
6
6
  def index
7
- @sessions = Current.<%= singular_table_name %>.sessions.order(created_at: :desc)
7
+ @sessions = Current.user.sessions.order(created_at: :desc)
8
8
  end
9
9
 
10
10
  def new
11
- @<%= singular_table_name %> = <%= class_name %>.new
11
+ @user = User.new
12
12
  end
13
13
 
14
14
  def create
15
- <%= singular_table_name %> = <%= class_name %>.find_by(email: params[:email])
15
+ user = User.find_by(email: params[:email])
16
16
 
17
- if <%= singular_table_name %> && <%= singular_table_name %>.authenticate(params[:password])
17
+ if user && user.authenticate(params[:password])
18
18
  <%- if two_factor? -%>
19
- if <%= singular_table_name %>.otp_secret
20
- signed_id = <%= singular_table_name %>.signed_id(purpose: :authentication_challenge, expires_in: 20.minutes)
19
+ if user.otp_secret
20
+ signed_id = user.signed_id(purpose: :authentication_challenge, expires_in: 20.minutes)
21
21
 
22
22
  redirect_to new_two_factor_authentication_challenge_path(token: signed_id)
23
23
  else
24
- @session = <%= singular_table_name %>.sessions.create!
24
+ @session = user.sessions.create!
25
25
  cookies.signed.permanent[:session_token] = { value: @session.id, httponly: true }
26
26
 
27
27
  redirect_to root_path, notice: "Signed in successfully"
28
28
  end
29
29
  <%- else -%>
30
- @session = <%= singular_table_name %>.sessions.create!
30
+ @session = user.sessions.create!
31
31
  cookies.signed.permanent[:session_token] = { value: @session.id, httponly: true }
32
32
 
33
33
  redirect_to root_path, notice: "Signed in successfully"
@@ -43,6 +43,6 @@ class SessionsController < ApplicationController
43
43
 
44
44
  private
45
45
  def set_session
46
- @session = Current.<%= singular_table_name %>.sessions.find(params[:id])
46
+ @session = Current.user.sessions.find(params[:id])
47
47
  end
48
48
  end
@@ -1,16 +1,16 @@
1
1
  class TwoFactorAuthentication::ChallengesController < ApplicationController
2
2
  skip_before_action :authenticate
3
3
 
4
- before_action :set_<%= singular_table_name %>
4
+ before_action :set_user
5
5
 
6
6
  def new
7
7
  end
8
8
 
9
9
  def create
10
- @totp = ROTP::TOTP.new(@<%= singular_table_name %>.otp_secret, issuer: "YourAppName")
10
+ @totp = ROTP::TOTP.new(@user.otp_secret, issuer: "YourAppName")
11
11
 
12
12
  if @totp.verify(params[:code], drift_behind: 15)
13
- session = @<%= singular_table_name %>.sessions.create!
13
+ session = @user.sessions.create!
14
14
  cookies.signed.permanent[:session_token] = { value: session.id, httponly: true }
15
15
 
16
16
  redirect_to root_path, notice: "Signed in successfully"
@@ -20,8 +20,8 @@ class TwoFactorAuthentication::ChallengesController < ApplicationController
20
20
  end
21
21
 
22
22
  private
23
- def set_<%= singular_table_name %>
24
- @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:token], purpose: :authentication_challenge)
23
+ def set_user
24
+ @user = User.find_signed!(params[:token], purpose: :authentication_challenge)
25
25
  rescue
26
26
  redirect_to sign_in_path, alert: "That's taking too long. Please re-enter your password and try again"
27
27
  end