action_auth 0.1.1 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +32 -8
- data/app/assets/stylesheets/action_auth/application.css +101 -15
- data/app/controllers/action_auth/identity/email_verifications_controller.rb +30 -0
- data/app/controllers/action_auth/identity/emails_controller.rb +41 -0
- data/app/controllers/action_auth/identity/password_resets_controller.rb +46 -0
- data/app/controllers/action_auth/passwords_controller.rb +1 -1
- data/app/controllers/action_auth/registrations_controller.rb +1 -1
- data/app/controllers/action_auth/sessions_controller.rb +1 -0
- data/app/views/action_auth/identity/emails/edit.html.erb +46 -0
- data/app/views/action_auth/identity/password_resets/edit.html.erb +32 -0
- data/app/views/action_auth/identity/password_resets/new.html.erb +19 -0
- data/app/views/action_auth/passwords/edit.html.erb +1 -1
- data/app/views/action_auth/registrations/new.html.erb +11 -5
- data/app/views/action_auth/sessions/new.html.erb +8 -12
- data/app/views/layouts/action_auth/application.html.erb +4 -4
- data/config/routes.rb +5 -0
- data/lib/action_auth/controllers/helpers.rb +0 -1
- data/lib/action_auth/engine.rb +1 -0
- data/lib/action_auth/routing/helpers.rb +8 -0
- data/lib/action_auth/version.rb +1 -1
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d680d8d34330e5aec31d3ab30576b677f4b3320c9cb9383b0a2ea2d5369c4541
|
4
|
+
data.tar.gz: 6c5d816b40895ec52e7b6ec331127263e5e82a80b6e838a6fd1e047366de1ea5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19e8c186624ccf06148d16932b6026143560479594d07e2bed4298f4c18b83df65a17e1ee88149c7fc6a9b0a1b1afbebc4a95023cebee81d15d393bbe984f6c1
|
7
|
+
data.tar.gz: 27e0a47e5cc73e646bacb873610a514211fc0bbd471d38776da5af2f419a73d85da135998a452a041e0ae3871fb4cec983204297923b274b98b6cd80fa256c36
|
data/README.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# ActionAuth
|
2
|
-
|
2
|
+
ActionAuth is a Rails engine that provides a simple authentication system for your Rails application.
|
3
|
+
It uses the latest methods for authentication and handling reset tokens from Rails 7.1.0.
|
4
|
+
It is designed to be simple and easy to use and allows you to focus on building your application.
|
5
|
+
The functionality of this gem relies on ActiveSupport::CurrentAttributes the methods are
|
6
|
+
designed to have a similar experience as Devise.
|
3
7
|
|
4
8
|
## Installation
|
5
9
|
Add this line to your application's Gemfile:
|
@@ -8,6 +12,25 @@ Add this line to your application's Gemfile:
|
|
8
12
|
bundle add action_auth
|
9
13
|
bin/rails action_auth:install:migrations
|
10
14
|
```
|
15
|
+
|
16
|
+
Modify config/routes.rb to include the following:
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
mount ActionAuth::Engine => 'action_auth'
|
20
|
+
```
|
21
|
+
|
22
|
+
In your view layout
|
23
|
+
|
24
|
+
```ruby
|
25
|
+
<% if user_signed_in? %>
|
26
|
+
<li><%= link_to "Sessions", user_sessions_path %></li>
|
27
|
+
<li><%= button_to "Sign Out", user_session_path(current_session), method: :delete %></li>
|
28
|
+
<% else %>
|
29
|
+
<li><%= link_to "Sign In", new_user_session_path %></li>
|
30
|
+
<li><%= link_to "Sign Up", new_user_registration_path %></li>
|
31
|
+
<% end %>
|
32
|
+
```
|
33
|
+
|
11
34
|
## Usage
|
12
35
|
|
13
36
|
### Routes
|
@@ -15,18 +38,19 @@ bin/rails action_auth:install:migrations
|
|
15
38
|
Within your application, you'll have access to these routes. They have been styled to be consistent with Devise.
|
16
39
|
|
17
40
|
Method Verb Params Description
|
18
|
-
user_sessions_path GET
|
19
|
-
user_session_path
|
20
|
-
new_user_session_path
|
21
|
-
new_user_registration_path GET
|
41
|
+
user_sessions_path GET Device session management
|
42
|
+
user_session_path DELETE [:id] Log Out
|
43
|
+
new_user_session_path GET Log in
|
44
|
+
new_user_registration_path GET Sign Up
|
45
|
+
edit_password_path GET Change Password
|
46
|
+
password_path PATCH Update Password
|
22
47
|
|
23
48
|
### Helper Methods
|
24
49
|
|
25
50
|
Method Description
|
26
|
-
current_user
|
51
|
+
current_user Returns the currently logged in user
|
27
52
|
user_signed_in? Returns true if the user is logged in
|
28
|
-
current_session
|
29
|
-
|
53
|
+
current_session Returns the current session
|
30
54
|
|
31
55
|
## License
|
32
56
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
@@ -1,15 +1,101 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
1
|
+
body {
|
2
|
+
box-sizing: border-box;
|
3
|
+
margin: 0;
|
4
|
+
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
5
|
+
font-size: 1rem;
|
6
|
+
font-weight: 400;
|
7
|
+
line-height: 1.5;
|
8
|
+
color: #212529;
|
9
|
+
text-align: left;
|
10
|
+
/* Assuming default alignment should be left */
|
11
|
+
-webkit-text-size-adjust: 100%;
|
12
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
13
|
+
margin-top: 25px;
|
14
|
+
background-color: rgb(248, 249, 250) !important;
|
15
|
+
}
|
16
|
+
|
17
|
+
.container {
|
18
|
+
-webkit-text-size-adjust: 100%;
|
19
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
20
|
+
box-sizing: border-box;
|
21
|
+
width: 400px;
|
22
|
+
padding-right: 12px;
|
23
|
+
padding-left: 12px;
|
24
|
+
margin-right: auto;
|
25
|
+
margin-left: auto;
|
26
|
+
max-width: 1140px;
|
27
|
+
border: solid 1px rgb(222, 226, 230) !important;
|
28
|
+
padding-bottom: 1rem !important;
|
29
|
+
background-color: rgb(255, 255, 255) !important;
|
30
|
+
}
|
31
|
+
|
32
|
+
input[type="text"],
|
33
|
+
input[type="email"],
|
34
|
+
input[type="password"] {
|
35
|
+
-webkit-text-size-adjust: 100%;
|
36
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
37
|
+
box-sizing: border-box;
|
38
|
+
margin: 0;
|
39
|
+
font-family: inherit;
|
40
|
+
display: block;
|
41
|
+
width: 100%;
|
42
|
+
padding: 0.375rem 0.75rem;
|
43
|
+
font-size: 1rem;
|
44
|
+
font-weight: 400;
|
45
|
+
line-height: 1.5;
|
46
|
+
color: #212529;
|
47
|
+
appearance: none;
|
48
|
+
background-color: #fff;
|
49
|
+
background-clip: padding-box;
|
50
|
+
border: 1px solid #dee2e6;
|
51
|
+
border-radius: 0.375rem;
|
52
|
+
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
53
|
+
}
|
54
|
+
|
55
|
+
.mb-3 {
|
56
|
+
margin-bottom: 1rem !important;
|
57
|
+
}
|
58
|
+
|
59
|
+
.btn {
|
60
|
+
padding: 0.375rem 0.75rem;
|
61
|
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
62
|
+
font-size: 1rem;
|
63
|
+
font-weight: 400;
|
64
|
+
line-height: 1.5;
|
65
|
+
color: #333;
|
66
|
+
text-align: center;
|
67
|
+
text-decoration: none;
|
68
|
+
vertical-align: middle;
|
69
|
+
user-select: none;
|
70
|
+
border: 1px solid #007bff;
|
71
|
+
border-radius: 0.25rem;
|
72
|
+
background-color: #007bff;
|
73
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
|
74
|
+
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
75
|
+
cursor: pointer;
|
76
|
+
}
|
77
|
+
|
78
|
+
.btn:hover {
|
79
|
+
color: #fff;
|
80
|
+
background-color: #0056b3;
|
81
|
+
border-color: #004085;
|
82
|
+
}
|
83
|
+
|
84
|
+
.btn:focus {
|
85
|
+
outline: 0;
|
86
|
+
box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, .5);
|
87
|
+
}
|
88
|
+
|
89
|
+
.btn:disabled {
|
90
|
+
color: #fff;
|
91
|
+
background-color: #007bff;
|
92
|
+
border-color: #007bff;
|
93
|
+
opacity: 0.65;
|
94
|
+
pointer-events: none;
|
95
|
+
}
|
96
|
+
|
97
|
+
.btn-primary {
|
98
|
+
color: #fff;
|
99
|
+
background-color: #007bff;
|
100
|
+
border-color: #007bff;
|
101
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module ActionAuth
|
2
|
+
module Identity
|
3
|
+
class EmailVerificationsController < ApplicationController
|
4
|
+
before_action :set_user, only: :show
|
5
|
+
|
6
|
+
def show
|
7
|
+
@user.update! verified: true
|
8
|
+
redirect_to main_app.root_path, notice: "Thank you for verifying your email address"
|
9
|
+
end
|
10
|
+
|
11
|
+
def create
|
12
|
+
send_email_verification
|
13
|
+
redirect_to main_app.root_path, notice: "We sent a verification email to your email address"
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def set_user
|
19
|
+
@user = ActionAuth::User.find_by_token_for!(:email_verification, params[:sid])
|
20
|
+
rescue StandardError
|
21
|
+
redirect_to edit_identity_email_path, alert: "That email verification link is invalid"
|
22
|
+
end
|
23
|
+
|
24
|
+
def send_email_verification
|
25
|
+
return unless Current.user
|
26
|
+
UserMailer.with(user: Current.user).email_verification.deliver_later
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module ActionAuth
|
2
|
+
module Identity
|
3
|
+
class EmailsController < ApplicationController
|
4
|
+
before_action :set_user
|
5
|
+
|
6
|
+
def edit
|
7
|
+
end
|
8
|
+
|
9
|
+
def update
|
10
|
+
if @user.update(user_params)
|
11
|
+
redirect_to_root
|
12
|
+
else
|
13
|
+
render :edit, status: :unprocessable_entity
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def set_user
|
20
|
+
@user = Current.user
|
21
|
+
end
|
22
|
+
|
23
|
+
def user_params
|
24
|
+
params.permit(:email, :password_challenge).with_defaults(password_challenge: "")
|
25
|
+
end
|
26
|
+
|
27
|
+
def redirect_to_root
|
28
|
+
if @user.email_previously_changed?
|
29
|
+
resend_email_verification
|
30
|
+
redirect_to main_app.root_path, notice: "Your email has been changed"
|
31
|
+
else
|
32
|
+
redirect_to main_app.root_path
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def resend_email_verification
|
37
|
+
UserMailer.with(user: @user).email_verification.deliver_later
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module ActionAuth
|
2
|
+
module Identity
|
3
|
+
class PasswordResetsController < ApplicationController
|
4
|
+
before_action :set_user, only: %i[ edit update ]
|
5
|
+
|
6
|
+
def new
|
7
|
+
end
|
8
|
+
|
9
|
+
def edit
|
10
|
+
end
|
11
|
+
|
12
|
+
def create
|
13
|
+
if @user = ActionAuth::User.find_by(email: params[:email], verified: true)
|
14
|
+
send_password_reset_email
|
15
|
+
redirect_to sign_in_path, notice: "Check your email for reset instructions"
|
16
|
+
else
|
17
|
+
redirect_to new_identity_password_reset_path, alert: "You can't reset your password until you verify your email"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def update
|
22
|
+
if @user.update(user_params)
|
23
|
+
redirect_to sign_in_path, notice: "Your password was reset successfully. Please sign in"
|
24
|
+
else
|
25
|
+
render :edit, status: :unprocessable_entity
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def set_user
|
32
|
+
@user = ActionAuth::User.find_by_token_for!(:password_reset, params[:sid])
|
33
|
+
rescue StandardError
|
34
|
+
redirect_to new_identity_password_reset_path, alert: "That password reset link is invalid"
|
35
|
+
end
|
36
|
+
|
37
|
+
def user_params
|
38
|
+
params.permit(:password, :password_confirmation)
|
39
|
+
end
|
40
|
+
|
41
|
+
def send_password_reset_email
|
42
|
+
UserMailer.with(user: @user).password_reset.deliver_later
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -7,7 +7,7 @@ module ActionAuth
|
|
7
7
|
|
8
8
|
def update
|
9
9
|
if @user.update(user_params)
|
10
|
-
redirect_to root_path, notice: "Your password has been changed"
|
10
|
+
redirect_to main_app.root_path, notice: "Your password has been changed"
|
11
11
|
else
|
12
12
|
render :edit, status: :unprocessable_entity
|
13
13
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
|
2
|
+
<% if user_signed_in? && Current.user.verified? %>
|
3
|
+
<% header_text = "Change Your Email" %>
|
4
|
+
<% label_text = "New email" %>
|
5
|
+
<% button_text = "Save changes" %>
|
6
|
+
<% else %>
|
7
|
+
<% header_text = "Verify Your Email" %>
|
8
|
+
<% label_text = "Email" %>
|
9
|
+
<% button_text = "Send verification email" %>
|
10
|
+
<% end %>
|
11
|
+
<h1><%= header_text %></h1>
|
12
|
+
|
13
|
+
<p style="color: red"><%= alert %></p>
|
14
|
+
|
15
|
+
<%= form_with(url: identity_email_path, method: :patch) do |form| %>
|
16
|
+
<% if @user&.errors&.any? %>
|
17
|
+
<div style="color: red">
|
18
|
+
<h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>
|
19
|
+
<ul>
|
20
|
+
<% @user.errors.each do |error| %>
|
21
|
+
<li><%= error.full_message %></li>
|
22
|
+
<% end %>
|
23
|
+
</ul>
|
24
|
+
</div>
|
25
|
+
<% end %>
|
26
|
+
|
27
|
+
<div class="mb-3">
|
28
|
+
<%= form.label :email, label_text, style: "display: block" %>
|
29
|
+
<%= form.email_field :email, required: true, autofocus: true %>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
<div class="mb-3">
|
33
|
+
<% if user_signed_in? && Current.user.verified? %>
|
34
|
+
<%= form.submit button_text, class: "btn btn-primary" %>
|
35
|
+
<% else %>
|
36
|
+
<%= button_to button_text, identity_email_verification_path, class: "btn btn-primary" %>
|
37
|
+
<% end %>
|
38
|
+
|
39
|
+
</div>
|
40
|
+
<% end %>
|
41
|
+
|
42
|
+
<div class="mb-3">
|
43
|
+
<%= link_to "Sign In", sign_in_path %> |
|
44
|
+
<%= link_to "Sign Up", sign_up_path %> |
|
45
|
+
<%= link_to "Reset Password", new_identity_password_reset_path %>
|
46
|
+
</div>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<h1>Reset your password</h1>
|
2
|
+
|
3
|
+
<%= form_with(url: identity_password_reset_path, method: :patch) do |form| %>
|
4
|
+
<% if @user.errors.any? %>
|
5
|
+
<div style="color: red">
|
6
|
+
<h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>
|
7
|
+
|
8
|
+
<ul>
|
9
|
+
<% @user.errors.each do |error| %>
|
10
|
+
<li><%= error.full_message %></li>
|
11
|
+
<% end %>
|
12
|
+
</ul>
|
13
|
+
</div>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<%= form.hidden_field :sid, value: params[:sid] %>
|
17
|
+
|
18
|
+
<div>
|
19
|
+
<%= form.label :password, "New password", style: "display: block" %>
|
20
|
+
<%= form.password_field :password, required: true, autofocus: true, autocomplete: "new-password" %>
|
21
|
+
<div>12 characters minimum.</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div>
|
25
|
+
<%= form.label :password_confirmation, "Confirm new password", style: "display: block" %>
|
26
|
+
<%= form.password_field :password_confirmation, required: true, autocomplete: "new-password" %>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div>
|
30
|
+
<%= form.submit "Save changes" %>
|
31
|
+
</div>
|
32
|
+
<% end %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<h1>Forgot your password?</h1>
|
2
|
+
<p style="color: red"><%= alert %></p>
|
3
|
+
|
4
|
+
<%= form_with(url: identity_password_reset_path) do |form| %>
|
5
|
+
<div class="mb-3">
|
6
|
+
<%= form.label :email, style: "display: block" %>
|
7
|
+
<%= form.email_field :email, required: true, autofocus: true %>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div class="mb-3">
|
11
|
+
<%= form.submit "Send password reset email", class: "btn btn-primary" %>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<div class="mb-3">
|
16
|
+
<%= link_to "Sign In", sign_in_path %> |
|
17
|
+
<%= link_to "Sign Up", sign_up_path %> |
|
18
|
+
<%= link_to "Verify Email", identity_email_verification_path %>
|
19
|
+
</div>
|
@@ -13,23 +13,29 @@
|
|
13
13
|
</div>
|
14
14
|
<% end %>
|
15
15
|
|
16
|
-
<div>
|
16
|
+
<div class="mb-3">
|
17
17
|
<%= form.label :email, style: "display: block" %>
|
18
18
|
<%= form.email_field :email, value: @user.email, required: true, autofocus: true, autocomplete: "email" %>
|
19
19
|
</div>
|
20
20
|
|
21
|
-
<div>
|
21
|
+
<div class="mb-3">
|
22
22
|
<%= form.label :password, style: "display: block" %>
|
23
23
|
<%= form.password_field :password, required: true, autocomplete: "new-password" %>
|
24
24
|
<div>12 characters minimum.</div>
|
25
25
|
</div>
|
26
26
|
|
27
|
-
<div>
|
27
|
+
<div class="mb-3">
|
28
28
|
<%= form.label :password_confirmation, style: "display: block" %>
|
29
29
|
<%= form.password_field :password_confirmation, required: true, autocomplete: "new-password" %>
|
30
30
|
</div>
|
31
31
|
|
32
|
-
<div>
|
33
|
-
<%= form.submit "Sign up" %>
|
32
|
+
<div class="mb-3">
|
33
|
+
<%= form.submit "Sign up", class: "btn btn-primary" %>
|
34
34
|
</div>
|
35
35
|
<% end %>
|
36
|
+
|
37
|
+
<div class="mb-3">
|
38
|
+
<%= link_to "Sign In", sign_in_path %> |
|
39
|
+
<%= link_to "Reset Password", new_identity_password_reset_path %> |
|
40
|
+
<%= link_to "Verify Email", identity_email_verification_path %>
|
41
|
+
</div>
|
@@ -4,27 +4,23 @@
|
|
4
4
|
<h1>Sign in</h1>
|
5
5
|
|
6
6
|
<%= form_with(url: sign_in_path) do |form| %>
|
7
|
-
<div>
|
7
|
+
<div class="mb-3">
|
8
8
|
<%= form.label :email, style: "display: block" %>
|
9
9
|
<%= form.email_field :email, value: params[:email_hint], required: true, autofocus: true, autocomplete: "email" %>
|
10
10
|
</div>
|
11
11
|
|
12
|
-
<div>
|
12
|
+
<div class="mb-3">
|
13
13
|
<%= form.label :password, style: "display: block" %>
|
14
14
|
<%= form.password_field :password, required: true, autocomplete: "current-password" %>
|
15
15
|
</div>
|
16
16
|
|
17
|
-
<div>
|
18
|
-
<%= form.submit "Sign in" %>
|
17
|
+
<div class="mb-3">
|
18
|
+
<%= form.submit "Sign in", class: "btn btn-primary" %>
|
19
19
|
</div>
|
20
20
|
<% end %>
|
21
21
|
|
22
|
-
<
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
<div>
|
28
|
-
<%= link_to "Sign up", sign_up_path %> |
|
29
|
-
<%# link_to "Forgot your password?", new_identity_password_reset_path %>
|
22
|
+
<div class="mb-3">
|
23
|
+
<%= link_to "Sign Up", sign_up_path %> |
|
24
|
+
<%= link_to "Reset Password", new_identity_password_reset_path %> |
|
25
|
+
<%= link_to "Verify Email", identity_email_verification_path %>
|
30
26
|
</div>
|
data/config/routes.rb
CHANGED
@@ -5,4 +5,9 @@ ActionAuth::Engine.routes.draw do
|
|
5
5
|
post "sign_up", to: "registrations#create"
|
6
6
|
resources :sessions, only: [:index, :show, :destroy]
|
7
7
|
resource :password, only: [:edit, :update]
|
8
|
+
namespace :identity do
|
9
|
+
resource :email, only: [:edit, :update]
|
10
|
+
resource :email_verification, only: [:show, :create]
|
11
|
+
resource :password_reset, only: [:new, :edit, :create, :update]
|
12
|
+
end
|
8
13
|
end
|
data/lib/action_auth/engine.rb
CHANGED
data/lib/action_auth/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: action_auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Kimura
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -52,6 +52,9 @@ files:
|
|
52
52
|
- app/assets/config/action_auth_manifest.js
|
53
53
|
- app/assets/stylesheets/action_auth/application.css
|
54
54
|
- app/controllers/action_auth/application_controller.rb
|
55
|
+
- app/controllers/action_auth/identity/email_verifications_controller.rb
|
56
|
+
- app/controllers/action_auth/identity/emails_controller.rb
|
57
|
+
- app/controllers/action_auth/identity/password_resets_controller.rb
|
55
58
|
- app/controllers/action_auth/passwords_controller.rb
|
56
59
|
- app/controllers/action_auth/registrations_controller.rb
|
57
60
|
- app/controllers/action_auth/sessions_controller.rb
|
@@ -63,6 +66,9 @@ files:
|
|
63
66
|
- app/models/action_auth/current.rb
|
64
67
|
- app/models/action_auth/session.rb
|
65
68
|
- app/models/action_auth/user.rb
|
69
|
+
- app/views/action_auth/identity/emails/edit.html.erb
|
70
|
+
- app/views/action_auth/identity/password_resets/edit.html.erb
|
71
|
+
- app/views/action_auth/identity/password_resets/new.html.erb
|
66
72
|
- app/views/action_auth/passwords/edit.html.erb
|
67
73
|
- app/views/action_auth/registrations/new.html.erb
|
68
74
|
- app/views/action_auth/sessions/index.html.erb
|