nyauth 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +19 -20
- data/app/controllers/nyauth/{new_password_requests_controller.rb → reset_password_requests_controller.rb} +5 -5
- data/app/controllers/nyauth/{new_passwords_controller.rb → reset_passwords_controller.rb} +4 -4
- data/app/mailers/nyauth/request_mailer.rb +1 -1
- data/app/models/concerns/nyauth/password_digest_ability.rb +1 -2
- data/app/models/concerns/nyauth/reset_password_ability.rb +35 -0
- data/app/views/nyauth/request_mailer/request_reset_password.html.slim +2 -0
- data/app/views/nyauth/request_mailer/request_reset_password.text.erb +3 -0
- data/app/views/nyauth/reset_password_requests/new.html.slim +5 -0
- data/app/views/nyauth/{new_passwords → reset_passwords}/edit.html.slim +1 -1
- data/config/locales/en.yml +3 -3
- data/config/routes.rb +2 -2
- data/lib/nyauth/configuration.rb +9 -5
- data/lib/nyauth/version.rb +1 -1
- data/spec/dummy/app/models/user.rb +1 -1
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20150303135922_create_users.rb +2 -2
- data/spec/dummy/db/production.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +7 -7
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +51 -0
- data/spec/dummy/log/test.log +5193 -0
- data/spec/factories/users.rb +3 -3
- data/spec/featrues/nyauth/{new_password_requests_spec.rb → reset_password_requests_spec.rb} +9 -9
- data/spec/helpers/nyauth/application_helper_spec.rb +10 -10
- data/spec/mailers/nyauth/request_mailer_spec.rb +3 -3
- data/spec/models/user_spec.rb +1 -1
- data/spec/support/models/nyauth/reset_password_ability.rb +13 -0
- metadata +15 -13
- data/app/models/concerns/nyauth/new_password_ability.rb +0 -35
- data/app/views/nyauth/new_password_requests/new.html.slim +0 -5
- data/app/views/nyauth/request_mailer/request_new_password.html.slim +0 -2
- data/app/views/nyauth/request_mailer/request_new_password.text.erb +0 -3
- data/spec/support/models/nyauth/new_password_ability.rb +0 -13
data/spec/factories/users.rb
CHANGED
@@ -13,9 +13,9 @@ FactoryGirl.define do
|
|
13
13
|
confirmation_key_expired_at { Time.current + 1.hour }
|
14
14
|
end
|
15
15
|
|
16
|
-
trait :
|
17
|
-
|
18
|
-
|
16
|
+
trait :requested_reset_password do
|
17
|
+
reset_password_key 'key'
|
18
|
+
reset_password_key_expired_at { Time.current + 1.hour }
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
@@ -4,20 +4,20 @@ RSpec.describe 'Nyauth::NewPasswordRequests' do
|
|
4
4
|
let!(:user) { create(:user) }
|
5
5
|
|
6
6
|
feature 'confirmation' do
|
7
|
-
let(:
|
7
|
+
let(:reset_password) { 'cool_password' }
|
8
8
|
background do
|
9
|
-
visit nyauth.
|
9
|
+
visit nyauth.new_reset_password_request_path
|
10
10
|
end
|
11
11
|
|
12
|
-
scenario 'request & set
|
12
|
+
scenario 'request & set reset password' do
|
13
13
|
fill_in('user_email', with: user.email)
|
14
|
-
click_button('
|
14
|
+
click_button('reset password')
|
15
15
|
|
16
16
|
open_email(user.email)
|
17
17
|
current_email.click_link('set new password')
|
18
18
|
|
19
|
-
fill_in('user_password', with:
|
20
|
-
fill_in('user_password_confirmation', with:
|
19
|
+
fill_in('user_password', with: reset_password)
|
20
|
+
fill_in('user_password_confirmation', with: reset_password)
|
21
21
|
click_button('Update')
|
22
22
|
|
23
23
|
expect(page).to have_content('updated')
|
@@ -26,14 +26,14 @@ RSpec.describe 'Nyauth::NewPasswordRequests' do
|
|
26
26
|
|
27
27
|
scenario 'request expired' do
|
28
28
|
fill_in('user_email', with: user.email)
|
29
|
-
click_button('
|
29
|
+
click_button('reset password')
|
30
30
|
|
31
31
|
Timecop.freeze(Time.current + 3.hours) do
|
32
32
|
open_email(user.email)
|
33
33
|
current_email.click_link('set new password')
|
34
34
|
|
35
|
-
fill_in('user_password', with:
|
36
|
-
fill_in('user_password_confirmation', with:
|
35
|
+
fill_in('user_password', with: reset_password)
|
36
|
+
fill_in('user_password_confirmation', with: reset_password)
|
37
37
|
click_button('Update')
|
38
38
|
|
39
39
|
expect(page).to have_content('expired')
|
@@ -100,8 +100,8 @@ RSpec.describe Nyauth::ApplicationHelper do
|
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
103
|
-
describe '#
|
104
|
-
subject { helper.
|
103
|
+
describe '#reset_password_requests_path_for' do
|
104
|
+
subject { helper.reset_password_requests_path_for(client_name) }
|
105
105
|
|
106
106
|
context 'when client_name is admin' do
|
107
107
|
let(:client_name) { :admin }
|
@@ -110,12 +110,12 @@ RSpec.describe Nyauth::ApplicationHelper do
|
|
110
110
|
|
111
111
|
context 'when client_name is user' do
|
112
112
|
let(:client_name) { :user }
|
113
|
-
it { is_expected.to eq "/
|
113
|
+
it { is_expected.to eq "/reset_password_requests" }
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
117
|
-
describe '#
|
118
|
-
subject { helper.
|
117
|
+
describe '#new_reset_password_request_path_for' do
|
118
|
+
subject { helper.new_reset_password_request_path_for(client_name) }
|
119
119
|
|
120
120
|
context 'when client_name is admin' do
|
121
121
|
let(:client_name) { :admin }
|
@@ -124,13 +124,13 @@ RSpec.describe Nyauth::ApplicationHelper do
|
|
124
124
|
|
125
125
|
context 'when client_name is user' do
|
126
126
|
let(:client_name) { :user }
|
127
|
-
it { is_expected.to eq "/
|
127
|
+
it { is_expected.to eq "/reset_password_requests/new" }
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
131
|
-
describe '#
|
132
|
-
subject { helper.
|
133
|
-
let(:
|
131
|
+
describe '#reset_password_path_for(:reset_password_key)' do
|
132
|
+
subject { helper.reset_password_path_for(client_name, reset_password_key) }
|
133
|
+
let(:reset_password_key) { 'hogehoge' }
|
134
134
|
|
135
135
|
context 'when client_name is admin' do
|
136
136
|
let(:client_name) { :admin }
|
@@ -139,7 +139,7 @@ RSpec.describe Nyauth::ApplicationHelper do
|
|
139
139
|
|
140
140
|
context 'when client_name is user' do
|
141
141
|
let(:client_name) { :user }
|
142
|
-
it { is_expected.to eq "/
|
142
|
+
it { is_expected.to eq "/reset_passwords/#{reset_password_key}" }
|
143
143
|
end
|
144
144
|
end
|
145
145
|
end
|
@@ -7,9 +7,9 @@ RSpec.describe Nyauth::RequestMailer do
|
|
7
7
|
it { expect(mail).to have_body_text 'Plese confirm your email' }
|
8
8
|
end
|
9
9
|
|
10
|
-
describe '#
|
11
|
-
let(:user) { create(:user, :
|
12
|
-
subject(:mail) { Nyauth::RequestMailer.
|
10
|
+
describe '#request_reset_password' do
|
11
|
+
let(:user) { create(:user, :requested_reset_password) }
|
12
|
+
subject(:mail) { Nyauth::RequestMailer.request_reset_password(user) }
|
13
13
|
it { expect(mail).to have_body_text 'Plese set your new password' }
|
14
14
|
end
|
15
15
|
end
|
data/spec/models/user_spec.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
RSpec.shared_examples 'Nyauth::ResetPasswordAvility' do |klass|
|
2
|
+
let!(:instance) { create(klass.name.downcase.to_sym) }
|
3
|
+
|
4
|
+
describe '#request_reset_password' do
|
5
|
+
subject { instance.request_reset_password }
|
6
|
+
|
7
|
+
it do
|
8
|
+
expect {
|
9
|
+
subject
|
10
|
+
}.to change(instance, :reset_password_key).from(nil)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nyauth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ppworks
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -97,17 +97,17 @@ files:
|
|
97
97
|
- app/controllers/concerns/nyauth/session_concern.rb
|
98
98
|
- app/controllers/nyauth/confirmation_requests_controller.rb
|
99
99
|
- app/controllers/nyauth/confirmations_controller.rb
|
100
|
-
- app/controllers/nyauth/new_password_requests_controller.rb
|
101
|
-
- app/controllers/nyauth/new_passwords_controller.rb
|
102
100
|
- app/controllers/nyauth/passwords_controller.rb
|
103
101
|
- app/controllers/nyauth/registrations_controller.rb
|
102
|
+
- app/controllers/nyauth/reset_password_requests_controller.rb
|
103
|
+
- app/controllers/nyauth/reset_passwords_controller.rb
|
104
104
|
- app/controllers/nyauth/sessions_controller.rb
|
105
105
|
- app/helpers/nyauth/application_helper.rb
|
106
106
|
- app/mailers/nyauth/request_mailer.rb
|
107
107
|
- app/models/concerns/nyauth/authenticatable.rb
|
108
108
|
- app/models/concerns/nyauth/confirmable.rb
|
109
|
-
- app/models/concerns/nyauth/new_password_ability.rb
|
110
109
|
- app/models/concerns/nyauth/password_digest_ability.rb
|
110
|
+
- app/models/concerns/nyauth/reset_password_ability.rb
|
111
111
|
- app/responders/nyauth/app_responder.rb
|
112
112
|
- app/responders/nyauth/confirmation_responder.rb
|
113
113
|
- app/services/nyauth/confirmation_request_service.rb
|
@@ -119,14 +119,14 @@ files:
|
|
119
119
|
- app/views/nyauth/layouts/application.html.slim
|
120
120
|
- app/views/nyauth/layouts/mailer.html.slim
|
121
121
|
- app/views/nyauth/layouts/mailer.text.slim
|
122
|
-
- app/views/nyauth/new_password_requests/new.html.slim
|
123
|
-
- app/views/nyauth/new_passwords/edit.html.slim
|
124
122
|
- app/views/nyauth/passwords/edit.html.slim
|
125
123
|
- app/views/nyauth/registrations/new.html.slim
|
126
124
|
- app/views/nyauth/request_mailer/request_confirmation.html.slim
|
127
125
|
- app/views/nyauth/request_mailer/request_confirmation.text.erb
|
128
|
-
- app/views/nyauth/request_mailer/
|
129
|
-
- app/views/nyauth/request_mailer/
|
126
|
+
- app/views/nyauth/request_mailer/request_reset_password.html.slim
|
127
|
+
- app/views/nyauth/request_mailer/request_reset_password.text.erb
|
128
|
+
- app/views/nyauth/reset_password_requests/new.html.slim
|
129
|
+
- app/views/nyauth/reset_passwords/edit.html.slim
|
130
130
|
- app/views/nyauth/sessions/new.html.slim
|
131
131
|
- config/application.yml
|
132
132
|
- config/locales/en.yml
|
@@ -178,6 +178,7 @@ files:
|
|
178
178
|
- spec/dummy/db/development.sqlite3
|
179
179
|
- spec/dummy/db/migrate/20150303135922_create_users.rb
|
180
180
|
- spec/dummy/db/migrate/20150317141956_create_admins.rb
|
181
|
+
- spec/dummy/db/production.sqlite3
|
181
182
|
- spec/dummy/db/schema.rb
|
182
183
|
- spec/dummy/db/test.sqlite3
|
183
184
|
- spec/dummy/log/development.log
|
@@ -207,9 +208,9 @@ files:
|
|
207
208
|
- spec/factories/admins.rb
|
208
209
|
- spec/factories/users.rb
|
209
210
|
- spec/featrues/nyauth/confirmation_requests_spec.rb
|
210
|
-
- spec/featrues/nyauth/new_password_requests_spec.rb
|
211
211
|
- spec/featrues/nyauth/passwords_spec.rb
|
212
212
|
- spec/featrues/nyauth/registrations_spec.rb
|
213
|
+
- spec/featrues/nyauth/reset_password_requests_spec.rb
|
213
214
|
- spec/featrues/nyauth/sessions_spec.rb
|
214
215
|
- spec/featrues/url_helper_on_application_spec.rb
|
215
216
|
- spec/helpers/nyauth/application_helper_spec.rb
|
@@ -225,8 +226,8 @@ files:
|
|
225
226
|
- spec/support/macros/feature_macros.rb
|
226
227
|
- spec/support/models/nyauth/authenticatable.rb
|
227
228
|
- spec/support/models/nyauth/confirmable.rb
|
228
|
-
- spec/support/models/nyauth/new_password_ability.rb
|
229
229
|
- spec/support/models/nyauth/password_digest_ability.rb
|
230
|
+
- spec/support/models/nyauth/reset_password_ability.rb
|
230
231
|
homepage: https://github.com/ppworks/nyauth
|
231
232
|
licenses:
|
232
233
|
- MIT
|
@@ -289,6 +290,7 @@ test_files:
|
|
289
290
|
- spec/dummy/db/development.sqlite3
|
290
291
|
- spec/dummy/db/migrate/20150303135922_create_users.rb
|
291
292
|
- spec/dummy/db/migrate/20150317141956_create_admins.rb
|
293
|
+
- spec/dummy/db/production.sqlite3
|
292
294
|
- spec/dummy/db/schema.rb
|
293
295
|
- spec/dummy/db/test.sqlite3
|
294
296
|
- spec/dummy/log/development.log
|
@@ -320,9 +322,9 @@ test_files:
|
|
320
322
|
- spec/factories/admins.rb
|
321
323
|
- spec/factories/users.rb
|
322
324
|
- spec/featrues/nyauth/confirmation_requests_spec.rb
|
323
|
-
- spec/featrues/nyauth/new_password_requests_spec.rb
|
324
325
|
- spec/featrues/nyauth/passwords_spec.rb
|
325
326
|
- spec/featrues/nyauth/registrations_spec.rb
|
327
|
+
- spec/featrues/nyauth/reset_password_requests_spec.rb
|
326
328
|
- spec/featrues/nyauth/sessions_spec.rb
|
327
329
|
- spec/featrues/url_helper_on_application_spec.rb
|
328
330
|
- spec/helpers/nyauth/application_helper_spec.rb
|
@@ -338,5 +340,5 @@ test_files:
|
|
338
340
|
- spec/support/macros/feature_macros.rb
|
339
341
|
- spec/support/models/nyauth/authenticatable.rb
|
340
342
|
- spec/support/models/nyauth/confirmable.rb
|
341
|
-
- spec/support/models/nyauth/new_password_ability.rb
|
342
343
|
- spec/support/models/nyauth/password_digest_ability.rb
|
344
|
+
- spec/support/models/nyauth/reset_password_ability.rb
|
@@ -1,35 +0,0 @@
|
|
1
|
-
module Nyauth
|
2
|
-
module NewPasswordAbility
|
3
|
-
extend ActiveSupport::Concern
|
4
|
-
|
5
|
-
included do
|
6
|
-
before_validation :check_new_password_key, on: :new_password
|
7
|
-
validates :email, email: { strict_mode: false }
|
8
|
-
validates :password, presence: true,
|
9
|
-
length: { minimum: 8 },
|
10
|
-
on: [:create, :update_password, :new_password]
|
11
|
-
validates :password, confirmation: true
|
12
|
-
end
|
13
|
-
|
14
|
-
def update_new_password(params)
|
15
|
-
self.attributes = params
|
16
|
-
self.save(context: :new_password)
|
17
|
-
end
|
18
|
-
|
19
|
-
def request_new_password
|
20
|
-
self.new_password_key = SecureRandom.hex(32)
|
21
|
-
self.new_password_key_expired_at = Time.current + 1.hour
|
22
|
-
save
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def check_new_password_key
|
28
|
-
if new_password_key_expired_at.past?
|
29
|
-
errors.add(:new_password_key, :expired)
|
30
|
-
else
|
31
|
-
self.new_password_key = nil
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,5 +0,0 @@
|
|
1
|
-
= form_for(client_class.new, url: new_password_requests_path_for(client_name), mehotd: :post, html: { class: 'pure-form' }) do |f|
|
2
|
-
fieldset
|
3
|
-
legend= t 'nav.new_password_requests.new'
|
4
|
-
= f.text_field(:email, placeholder: :email)
|
5
|
-
= f.submit 'request new password', data: { disable_with: '...' }, class: 'pure-button pure-button-primary'
|
@@ -1,13 +0,0 @@
|
|
1
|
-
RSpec.shared_examples 'Nyauth::NewPasswordAvility' do |klass|
|
2
|
-
let!(:instance) { create(klass.name.downcase.to_sym) }
|
3
|
-
|
4
|
-
describe '#request_new_password' do
|
5
|
-
subject { instance.request_new_password }
|
6
|
-
|
7
|
-
it do
|
8
|
-
expect {
|
9
|
-
subject
|
10
|
-
}.to change(instance, :new_password_key).from(nil)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|