authentication-zero 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +4 -0
- data/lib/authentication_zero/version.rb +1 -1
- data/lib/generators/authentication/authentication_generator.rb +4 -1
- data/lib/generators/authentication/templates/controllers/api/emails_controller.rb.tt +25 -0
- data/lib/generators/authentication/templates/controllers/api/password_resets_controller.rb.tt +2 -2
- data/lib/generators/authentication/templates/controllers/api/passwords_controller.rb.tt +3 -2
- data/lib/generators/authentication/templates/controllers/html/emails_controller.rb.tt +28 -0
- data/lib/generators/authentication/templates/controllers/html/password_resets_controller.rb.tt +2 -2
- data/lib/generators/authentication/templates/controllers/html/passwords_controller.rb.tt +3 -3
- data/lib/generators/authentication/templates/mailers/email_mailer.rb.tt +6 -0
- data/lib/generators/authentication/templates/mailers/password_mailer.rb.tt +4 -0
- data/lib/generators/authentication/templates/views/email_mailer/changed.html.erb.tt +11 -0
- data/lib/generators/authentication/templates/views/email_mailer/changed.text.erb.tt +9 -0
- data/lib/generators/authentication/templates/views/emails/edit.html.erb.tt +37 -0
- data/lib/generators/authentication/templates/views/password_mailer/changed.html.erb.tt +7 -0
- data/lib/generators/authentication/templates/views/password_mailer/changed.text.erb.tt +5 -0
- metadata +9 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e853cd032072f4c6dc76b99cdff704b392eac57abea2893957b03f93c7069bd
|
4
|
+
data.tar.gz: 49428b1a84e2cd03beba0f9f5a39623f06c33ae20072a691130885391b09d615
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa5510a1671afde349053941f76876b888b481fbae4839dd7724b38163c3ca37c8a68ad73f2eb1de277f80bfbc3ad9d4e21f5d07613a24f09bc78d9e7b051bec
|
7
|
+
data.tar.gz: 1578a6bc1502f0d1f0f25b6b993f4f1be297f367532ce604f1da5926de5bd9fb38bbcc36705b98c2a8fd3cca933bd2649b81cdc9007fbf4dfcb63065758835a0
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -30,6 +30,10 @@ Add these lines to your `app/views/home/index.html.erb`:
|
|
30
30
|
|
31
31
|
<p>Signed as <%= Current.user.email %></p>
|
32
32
|
|
33
|
+
<div>
|
34
|
+
<%= link_to "Change email", edit_emails_path %>
|
35
|
+
</div>
|
36
|
+
|
33
37
|
<div>
|
34
38
|
<%= link_to "Change password", edit_passwords_path %>
|
35
39
|
</div>
|
@@ -16,11 +16,13 @@ class AuthenticationGenerator < Rails::Generators::NamedBase
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def create_mailers
|
19
|
+
template "mailers/email_mailer.rb", "app/mailers/email_mailer.rb"
|
19
20
|
template "mailers/password_mailer.rb", "app/mailers/password_mailer.rb"
|
20
21
|
end
|
21
22
|
|
22
23
|
def create_views
|
23
24
|
if options.api
|
25
|
+
directory "views/email_mailer", "app/views/email_mailer"
|
24
26
|
directory "views/password_mailer", "app/views/password_mailer"
|
25
27
|
else
|
26
28
|
directory "views", "app/views"
|
@@ -39,7 +41,8 @@ class AuthenticationGenerator < Rails::Generators::NamedBase
|
|
39
41
|
def add_routes
|
40
42
|
route "resource :password_resets, only: [:new, :edit, :create, :update]"
|
41
43
|
route "resource :cancellations, only: [:new, :create]"
|
42
|
-
route "resource :passwords, only: [:
|
44
|
+
route "resource :passwords, only: [:edit, :update]"
|
45
|
+
route "resource :emails, only: [:edit, :update]"
|
43
46
|
route "delete 'sign_out', to: 'sessions#destroy'"
|
44
47
|
route "post 'sign_up', to: 'registrations#create'"
|
45
48
|
route "get 'sign_up', to: 'registrations#new'" unless options.api?
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class EmailsController < ApplicationController
|
2
|
+
before_action :set_<%= singular_table_name %>
|
3
|
+
|
4
|
+
def update
|
5
|
+
if !@<%= singular_table_name %>.authenticate(params[:current_password])
|
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
|
+
if @<%= singular_table_name %>.email_previously_changed?
|
9
|
+
EmailMailer.with(email_change: @<%= singular_table_name %>.email_previous_change).changed.deliver_later
|
10
|
+
end
|
11
|
+
render json: @<%= singular_table_name %>
|
12
|
+
else
|
13
|
+
render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
def set_<%= singular_table_name %>
|
19
|
+
@<%= singular_table_name %> = Current.<%= singular_table_name %>
|
20
|
+
end
|
21
|
+
|
22
|
+
def <%= "#{singular_table_name}_params" %>
|
23
|
+
params.permit(:email)
|
24
|
+
end
|
25
|
+
end
|
data/lib/generators/authentication/templates/controllers/api/password_resets_controller.rb.tt
CHANGED
@@ -16,7 +16,7 @@ class PasswordResetsController < ApplicationController
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def update
|
19
|
-
if @<%= singular_table_name %>.update(
|
19
|
+
if @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
|
20
20
|
render json: @<%= singular_table_name %>
|
21
21
|
else
|
22
22
|
render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
|
@@ -30,7 +30,7 @@ class PasswordResetsController < ApplicationController
|
|
30
30
|
render json: { error: "Your token has expired, please request a new one" }, status: :bad_request
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
33
|
+
def <%= "#{singular_table_name}_params" %>
|
34
34
|
params.permit(:password, :password_confirmation)
|
35
35
|
end
|
36
36
|
end
|
@@ -4,7 +4,8 @@ class PasswordsController < ApplicationController
|
|
4
4
|
def update
|
5
5
|
if !@<%= singular_table_name %>.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(
|
7
|
+
elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
|
8
|
+
PasswordMailer.with(user: @<%= singular_table_name %>).changed.deliver_later
|
8
9
|
render json: @<%= singular_table_name %>
|
9
10
|
else
|
10
11
|
render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
|
@@ -16,7 +17,7 @@ class PasswordsController < ApplicationController
|
|
16
17
|
@<%= singular_table_name %> = Current.<%= singular_table_name %>
|
17
18
|
end
|
18
19
|
|
19
|
-
def
|
20
|
+
def <%= "#{singular_table_name}_params" %>
|
20
21
|
params.permit(:password, :password_confirmation)
|
21
22
|
end
|
22
23
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class EmailsController < ApplicationController
|
2
|
+
before_action :set_<%= singular_table_name %>
|
3
|
+
|
4
|
+
def edit
|
5
|
+
end
|
6
|
+
|
7
|
+
def update
|
8
|
+
if !@<%= singular_table_name %>.authenticate(params[:current_password])
|
9
|
+
redirect_to edit_emails_path, alert: "The current password you entered is incorrect"
|
10
|
+
elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
|
11
|
+
if @<%= singular_table_name %>.email_previously_changed?
|
12
|
+
EmailMailer.with(email_change: @<%= singular_table_name %>.email_previous_change).changed.deliver_later
|
13
|
+
end
|
14
|
+
redirect_to root_path, notice: "Your email has been changed successfully"
|
15
|
+
else
|
16
|
+
render :edit, status: :unprocessable_entity
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
def set_<%= singular_table_name %>
|
22
|
+
@<%= singular_table_name %> = Current.<%= singular_table_name %>
|
23
|
+
end
|
24
|
+
|
25
|
+
def <%= "#{singular_table_name}_params" %>
|
26
|
+
params.require(:<%= singular_table_name %>).permit(:email)
|
27
|
+
end
|
28
|
+
end
|
data/lib/generators/authentication/templates/controllers/html/password_resets_controller.rb.tt
CHANGED
@@ -19,7 +19,7 @@ class PasswordResetsController < ApplicationController
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def update
|
22
|
-
if @<%= singular_table_name %>.update(
|
22
|
+
if @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
|
23
23
|
redirect_to sign_in_path, notice: "Your password was reset successfully. Please sign in"
|
24
24
|
else
|
25
25
|
render :edit, status: :unprocessable_entity
|
@@ -33,7 +33,7 @@ class PasswordResetsController < ApplicationController
|
|
33
33
|
redirect_to new_password_resets_path, alert: "Your token has expired, please request a new one"
|
34
34
|
end
|
35
35
|
|
36
|
-
def
|
36
|
+
def <%= "#{singular_table_name}_params" %>
|
37
37
|
params.require(:<%= singular_table_name %>).permit(:password, :password_confirmation)
|
38
38
|
end
|
39
39
|
end
|
@@ -2,13 +2,13 @@ class PasswordsController < ApplicationController
|
|
2
2
|
before_action :set_<%= singular_table_name %>
|
3
3
|
|
4
4
|
def edit
|
5
|
-
@<%= singular_table_name %> = Current.<%= singular_table_name %>
|
6
5
|
end
|
7
6
|
|
8
7
|
def update
|
9
8
|
if !@<%= singular_table_name %>.authenticate(params[:current_password])
|
10
9
|
redirect_to edit_passwords_path, alert: "The current password you entered is incorrect"
|
11
|
-
elsif @<%= singular_table_name %>.update(
|
10
|
+
elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
|
11
|
+
PasswordMailer.with(user: @<%= singular_table_name %>).changed.deliver_later
|
12
12
|
redirect_to root_path, notice: "Your password has been changed successfully"
|
13
13
|
else
|
14
14
|
render :edit, status: :unprocessable_entity
|
@@ -20,7 +20,7 @@ class PasswordsController < ApplicationController
|
|
20
20
|
@<%= singular_table_name %> = Current.<%= singular_table_name %>
|
21
21
|
end
|
22
22
|
|
23
|
-
def
|
23
|
+
def <%= "#{singular_table_name}_params" %>
|
24
24
|
params.require(:<%= singular_table_name %>).permit(:password, :password_confirmation)
|
25
25
|
end
|
26
26
|
end
|
@@ -1,4 +1,8 @@
|
|
1
1
|
class PasswordMailer < ApplicationMailer
|
2
|
+
def changed
|
3
|
+
mail to: params[:<%= singular_table_name %>].email
|
4
|
+
end
|
5
|
+
|
2
6
|
def reset
|
3
7
|
@signed_id = params[:<%= singular_table_name %>].signed_id(purpose: "password_reset", expires_in: 20.minutes)
|
4
8
|
mail to: params[:<%= singular_table_name %>].email
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<p>Hey there,</p>
|
2
|
+
|
3
|
+
<p>We just wanted to confirm that your email address has been updated.</p>
|
4
|
+
|
5
|
+
<p><strong>Before, it was: <%%= @previous_email %></strong></p>
|
6
|
+
|
7
|
+
<p><strong>Now it is set to: <%%= @current_email %></strong></p>
|
8
|
+
|
9
|
+
<hr>
|
10
|
+
|
11
|
+
<p>If you didn't make this change, someone else may have access to your account. If you think that may be the case, please reply to this email and our support team will help you out.</p>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Hey there,
|
2
|
+
|
3
|
+
We just wanted to confirm that your email address has been updated.
|
4
|
+
|
5
|
+
Before, it was: <%%= @previous_email %>
|
6
|
+
|
7
|
+
Now it is set to: <%%= @current_email %>
|
8
|
+
|
9
|
+
If you didn't make this change, someone else may have access to your account. If you think that may be the case, please reply to this email and our support team will help you out.
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<p style="color: red"><%%= alert %></p>
|
2
|
+
|
3
|
+
<h1>Change your email</h1>
|
4
|
+
|
5
|
+
<%%= form_with(model: @<%= model_resource_name %>, url: emails_path) do |form| %>
|
6
|
+
<%% if @<%= singular_table_name %>.errors.any? %>
|
7
|
+
<div style="color: red">
|
8
|
+
<h2><%%= pluralize(@<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:</h2>
|
9
|
+
|
10
|
+
<ul>
|
11
|
+
<%% @<%= singular_table_name %>.errors.each do |error| %>
|
12
|
+
<li><%%= error.full_message %></li>
|
13
|
+
<%% end %>
|
14
|
+
</ul>
|
15
|
+
</div>
|
16
|
+
<%% end %>
|
17
|
+
|
18
|
+
<div>
|
19
|
+
<%%= label_tag :current_password, nil, style: "display: block" %>
|
20
|
+
<%%= password_field_tag :current_password, nil, autofocus: true, autocomplete: "current-password" %>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div>
|
24
|
+
<%%= form.label :email, "New email", style: "display: block" %>
|
25
|
+
<%%= form.email_field :email %>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div>
|
29
|
+
<%%= form.submit "Save changes" %>
|
30
|
+
</div>
|
31
|
+
<%% end %>
|
32
|
+
|
33
|
+
<br>
|
34
|
+
|
35
|
+
<div>
|
36
|
+
<%%= link_to "Back", root_path %>
|
37
|
+
</div>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<p>Hey there,</p>
|
2
|
+
|
3
|
+
<p>We just wanted to confirm that your password has been updated.</p>
|
4
|
+
|
5
|
+
<hr>
|
6
|
+
|
7
|
+
<p>If you didn't make this change, someone else may have access to your account. If you think that may be the case, please reply to this email and our support team will help you out.</p>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authentication-zero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nixon
|
@@ -32,20 +32,28 @@ files:
|
|
32
32
|
- lib/generators/authentication/USAGE
|
33
33
|
- lib/generators/authentication/authentication_generator.rb
|
34
34
|
- lib/generators/authentication/templates/controllers/api/cancellations_controller.rb.tt
|
35
|
+
- lib/generators/authentication/templates/controllers/api/emails_controller.rb.tt
|
35
36
|
- lib/generators/authentication/templates/controllers/api/password_resets_controller.rb.tt
|
36
37
|
- lib/generators/authentication/templates/controllers/api/passwords_controller.rb.tt
|
37
38
|
- lib/generators/authentication/templates/controllers/api/registrations_controller.rb.tt
|
38
39
|
- lib/generators/authentication/templates/controllers/api/sessions_controller.rb.tt
|
39
40
|
- lib/generators/authentication/templates/controllers/html/cancellations_controller.rb.tt
|
41
|
+
- lib/generators/authentication/templates/controllers/html/emails_controller.rb.tt
|
40
42
|
- lib/generators/authentication/templates/controllers/html/password_resets_controller.rb.tt
|
41
43
|
- lib/generators/authentication/templates/controllers/html/passwords_controller.rb.tt
|
42
44
|
- lib/generators/authentication/templates/controllers/html/registrations_controller.rb.tt
|
43
45
|
- lib/generators/authentication/templates/controllers/html/sessions_controller.rb.tt
|
46
|
+
- lib/generators/authentication/templates/mailers/email_mailer.rb.tt
|
44
47
|
- lib/generators/authentication/templates/mailers/password_mailer.rb.tt
|
45
48
|
- lib/generators/authentication/templates/migration.rb.tt
|
46
49
|
- lib/generators/authentication/templates/models/current.rb.tt
|
47
50
|
- lib/generators/authentication/templates/models/resource.rb.tt
|
48
51
|
- lib/generators/authentication/templates/views/cancellations/new.html.erb.tt
|
52
|
+
- lib/generators/authentication/templates/views/email_mailer/changed.html.erb.tt
|
53
|
+
- lib/generators/authentication/templates/views/email_mailer/changed.text.erb.tt
|
54
|
+
- lib/generators/authentication/templates/views/emails/edit.html.erb.tt
|
55
|
+
- lib/generators/authentication/templates/views/password_mailer/changed.html.erb.tt
|
56
|
+
- lib/generators/authentication/templates/views/password_mailer/changed.text.erb.tt
|
49
57
|
- lib/generators/authentication/templates/views/password_mailer/reset.html.erb.tt
|
50
58
|
- lib/generators/authentication/templates/views/password_mailer/reset.text.erb.tt
|
51
59
|
- lib/generators/authentication/templates/views/password_resets/edit.html.erb.tt
|