spree_auth_devise 4.2.1 → 4.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of spree_auth_devise might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7cd5aef076f37e51acf8e77f9dc7aa8c14b3c38d38bb58c689fca12e59d6fc82
4
- data.tar.gz: df4827dc1c68ed09ad300257ae97c9a10ad88e564a629bff09cd9b8568df9c6f
3
+ metadata.gz: 91d6026f95c5de39d8065c441df4c64af29eccd78bf0aeafebfea951bbf87a91
4
+ data.tar.gz: 67f50ef5c962e5248621d94311a704db4c0081b6dc8864a1c01892adb5374a26
5
5
  SHA512:
6
- metadata.gz: 4a07f459d80a0260fd2a19a875d0ea6f392768c7d4a33db41574a238231e5a68234dc1e73c35d2287fb4eb73d9f30f9ac0ea1cbfb86af35fe5418fb061daf116
7
- data.tar.gz: b14f4d2f862e49522de9f4704baa56bb81f876185ee693e27171a5ba68eb1abe5cc2c527a2fe8e4c1dfc01620765093d4edd8d62ca98471633f9163af2fd4eda
6
+ metadata.gz: 7a8bd6c26af9821c350b367937f93901d1fc94c89b3e8fc99f2b1c583332455b4f66f23f7c015f2c94a43cca7af940fc11cae6dbab21656d05c3b57db5efec72
7
+ data.tar.gz: 6796f33284e8c55fa71045d39c0e8209d59550a044cb7c92efaf441a3bc8c70d4d68dcaface2ea6be690ebafbe1ed6a68f2e0bbbfa539c6a118d2d359b46a0a7
data/.travis.yml CHANGED
@@ -15,8 +15,8 @@ services:
15
15
  language: ruby
16
16
 
17
17
  rvm:
18
- - 2.5
19
- - 2.6
18
+ - 2.7
19
+ - 3.0
20
20
 
21
21
  env:
22
22
  - DB=mysql
@@ -27,8 +27,11 @@ gemfile:
27
27
  - gemfiles/spree_master.gemfile
28
28
 
29
29
  jobs:
30
+ exclude:
31
+ - rvm: 3.0
32
+ gemfile: gemfiles/spree_4_1.gemfile
30
33
  allow_failures:
31
- - gemfile: gemfiles/spree_master.gemfile
34
+ - gemfile: gemfiles/spree_master.gemfile
32
35
 
33
36
  before_install:
34
37
  - mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails-controller-testing'
4
- gem 'spree', '~> 4.2.0'
4
+ gem 'spree', github: 'spree/spree', branch: 'master'
5
5
 
6
6
  gemspec
@@ -6,16 +6,19 @@ class Spree::UserConfirmationsController < Devise::ConfirmationsController
6
6
  include Spree::Core::ControllerHelpers::Order
7
7
  include Spree::Core::ControllerHelpers::Store
8
8
 
9
- include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
9
+ before_action :set_current_order
10
10
 
11
- include Spree::Core::ControllerHelpers::Currency if defined?(Spree::Core::ControllerHelpers::Currency)
12
- include Spree::Core::ControllerHelpers::Locale if defined?(Spree::Core::ControllerHelpers::Locale)
13
-
14
- include Spree::LocaleUrls if defined?(Spree::LocaleUrls)
11
+ # POST /resource/confirmation
12
+ def create
13
+ self.resource = resource_class.send_confirmation_instructions(resource_params, current_store)
14
+ yield resource if block_given?
15
15
 
16
- helper 'spree/locale' if defined?(Spree::LocaleHelper)
17
- helper 'spree/currency' if defined?(Spree::CurrencyHelper)
18
- helper 'spree/store' if defined?(Spree::StoreHelper)
16
+ if successfully_sent?(resource)
17
+ respond_with({}, location: after_resending_confirmation_instructions_path_for(resource_name))
18
+ else
19
+ respond_with(resource)
20
+ end
21
+ end
19
22
 
20
23
  # GET /resource/confirmation?confirmation_token=abcdef
21
24
  def show
@@ -6,16 +6,9 @@ class Spree::UserPasswordsController < Devise::PasswordsController
6
6
  include Spree::Core::ControllerHelpers::Order
7
7
  include Spree::Core::ControllerHelpers::Store
8
8
 
9
- include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
10
-
11
- include Spree::Core::ControllerHelpers::Currency if defined?(Spree::Core::ControllerHelpers::Currency)
12
- include Spree::Core::ControllerHelpers::Locale if defined?(Spree::Core::ControllerHelpers::Locale)
13
-
14
- include Spree::LocaleUrls if defined?(Spree::LocaleUrls)
15
-
16
- helper 'spree/locale' if defined?(Spree::LocaleHelper)
17
- helper 'spree/currency' if defined?(Spree::CurrencyHelper)
18
- helper 'spree/store' if defined?(Spree::StoreHelper)
9
+ if defined?(SpreeI18n::ControllerLocaleHelper)
10
+ include SpreeI18n::ControllerLocaleHelper
11
+ end
19
12
 
20
13
  before_action :set_current_order
21
14
 
@@ -60,4 +53,10 @@ class Spree::UserPasswordsController < Devise::PasswordsController
60
53
  def new_session_path(resource_name)
61
54
  spree.send("new_#{resource_name}_session_path")
62
55
  end
56
+
57
+ private
58
+
59
+ def accurate_title
60
+ Spree.t(:reset_password)
61
+ end
63
62
  end
@@ -6,16 +6,9 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
6
6
  include Spree::Core::ControllerHelpers::Order
7
7
  include Spree::Core::ControllerHelpers::Store
8
8
 
9
- include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
10
-
11
- include Spree::Core::ControllerHelpers::Currency if defined?(Spree::Core::ControllerHelpers::Currency)
12
- include Spree::Core::ControllerHelpers::Locale if defined?(Spree::Core::ControllerHelpers::Locale)
13
-
14
- include Spree::LocaleUrls if defined?(Spree::LocaleUrls)
15
-
16
- helper 'spree/locale' if defined?(Spree::LocaleHelper)
17
- helper 'spree/currency' if defined?(Spree::CurrencyHelper)
18
- helper 'spree/store' if defined?(Spree::StoreHelper)
9
+ if defined?(SpreeI18n::ControllerLocaleHelper)
10
+ include SpreeI18n::ControllerLocaleHelper
11
+ end
19
12
 
20
13
  before_action :check_permissions, only: [:edit, :update]
21
14
  before_action :set_current_order
@@ -30,6 +23,7 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
30
23
  # POST /resource/sign_up
31
24
  def create
32
25
  @user = build_resource(spree_user_params)
26
+ resource.skip_confirmation_notification! if Spree::Auth::Config[:confirmable]
33
27
  resource_saved = resource.save
34
28
  yield resource if block_given?
35
29
  if resource_saved
@@ -37,10 +31,12 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
37
31
  set_flash_message :notice, :signed_up
38
32
  sign_up(resource_name, resource)
39
33
  session[:spree_user_signup] = true
34
+ resource.send_confirmation_instructions(current_store) if Spree::Auth::Config[:confirmable]
40
35
  redirect_to_checkout_or_account_path(resource)
41
36
  else
42
37
  set_flash_message :notice, :"signed_up_but_#{resource.inactive_message}"
43
38
  expire_data_after_sign_in!
39
+ resource.send_confirmation_instructions(current_store) if Spree::Auth::Config[:confirmable]
44
40
  respond_with resource, location: after_inactive_sign_up_path_for(resource)
45
41
  end
46
42
  else
@@ -96,6 +92,10 @@ class Spree::UserRegistrationsController < Devise::RegistrationsController
96
92
 
97
93
  private
98
94
 
95
+ def accurate_title
96
+ Spree.t(:sign_up)
97
+ end
98
+
99
99
  def spree_user_params
100
100
  params.require(:spree_user).permit(Spree::PermittedAttributes.user_attributes)
101
101
  end
@@ -6,16 +6,9 @@ class Spree::UserSessionsController < Devise::SessionsController
6
6
  include Spree::Core::ControllerHelpers::Order
7
7
  include Spree::Core::ControllerHelpers::Store
8
8
 
9
- include SpreeI18n::ControllerLocaleHelper if defined?(SpreeI18n::ControllerLocaleHelper)
10
-
11
- include Spree::Core::ControllerHelpers::Currency if defined?(Spree::Core::ControllerHelpers::Currency)
12
- include Spree::Core::ControllerHelpers::Locale if defined?(Spree::Core::ControllerHelpers::Locale)
13
-
14
- include Spree::LocaleUrls if defined?(Spree::LocaleUrls)
15
-
16
- helper 'spree/locale' if defined?(Spree::LocaleHelper)
17
- helper 'spree/currency' if defined?(Spree::CurrencyHelper)
18
- helper 'spree/store' if defined?(Spree::StoreHelper)
9
+ if defined?(SpreeI18n::ControllerLocaleHelper)
10
+ include SpreeI18n::ControllerLocaleHelper
11
+ end
19
12
 
20
13
  before_action :set_current_order
21
14
 
@@ -6,15 +6,18 @@ module Spree
6
6
  @locale = @current_store.has_attribute?(:default_locale) ? @current_store.default_locale : I18n.default_locale
7
7
  I18n.locale = @locale if @locale.present?
8
8
  @edit_password_reset_url = spree.edit_spree_user_password_url(reset_password_token: token, host: @current_store.url)
9
+ @user = user
9
10
 
10
- mail to: user.email, from: from_address, subject: @current_store.name + ' ' + I18n.t(:subject, scope: [:devise, :mailer, :reset_password_instructions])
11
+ mail to: user.email, from: from_address, subject: @current_store.name + ' ' + I18n.t(:subject, scope: [:devise, :mailer, :reset_password_instructions]), store_url: @current_store.url
11
12
  end
12
13
 
13
14
  def confirmation_instructions(user, token, _opts = {})
14
- @confirmation_url = spree.spree_user_confirmation_url(confirmation_token: token, host: Spree::Store.current.url)
15
+ current_store_id = _opts[:current_store_id]
16
+ @current_store = Spree::Store.find(current_store_id) || Spree::Store.current
17
+ @confirmation_url = spree_user_confirmation_url(confirmation_token: token, host: Spree::Store.current.url)
15
18
  @email = user.email
16
19
 
17
- mail to: user.email, from: from_address, subject: Spree::Store.current.name + ' ' + I18n.t(:subject, scope: [:devise, :mailer, :confirmation_instructions])
20
+ mail to: user.email, from: from_address, subject: @current_store.name + ' ' + I18n.t(:subject, scope: [:devise, :mailer, :confirmation_instructions]), store_url: @current_store.url
18
21
  end
19
22
  end
20
23
  end
@@ -27,6 +27,31 @@ module Spree
27
27
  has_spree_role?('admin')
28
28
  end
29
29
 
30
+ def self.send_confirmation_instructions(attributes = {}, current_store)
31
+ confirmable = find_by_unconfirmed_email_with_errors(attributes) if reconfirmable
32
+ unless confirmable.try(:persisted?)
33
+ confirmable = find_or_initialize_with_errors(confirmation_keys, attributes, :not_found)
34
+ end
35
+ confirmable.resend_confirmation_instructions(current_store) if confirmable.persisted?
36
+ confirmable
37
+ end
38
+
39
+ def resend_confirmation_instructions(current_store)
40
+ pending_any_confirmation do
41
+ send_confirmation_instructions(current_store)
42
+ end
43
+ end
44
+
45
+ def send_confirmation_instructions(current_store)
46
+ unless @raw_confirmation_token
47
+ generate_confirmation_token!
48
+ end
49
+
50
+ opts = pending_reconfirmation? ? { to: unconfirmed_email } : {}
51
+ opts[:current_store_id] = current_store.id
52
+ send_devise_notification(:confirmation_instructions, @raw_confirmation_token, opts)
53
+ end
54
+
30
55
  def self.send_reset_password_instructions(attributes={}, current_store)
31
56
  recoverable = find_or_initialize_with_errors(reset_password_keys, attributes, :not_found)
32
57
  recoverable.send_reset_password_instructions(current_store) if recoverable.persisted?
@@ -0,0 +1,20 @@
1
+ <h1>
2
+ <%= Spree.t('user_mailer.confirmation_instructions.welcome', email: @email) %>
3
+ </h1>
4
+ <p>
5
+ <%= Spree.t('user_mailer.confirmation_instructions.instructions_1', { store_name: @current_store.name }) %>
6
+ </p>
7
+ <p>
8
+ <%= Spree.t('user_mailer.confirmation_instructions.instructions_2') %>
9
+ </p>
10
+ <p class="body-action">
11
+ <a href="<%= @confirmation_url %>" class="button button--green"><%= Spree.t('user_mailer.confirmation_instructions.button') %></a>
12
+ </p>
13
+ <p>
14
+ <%= Spree.t('user_mailer.confirmation_instructions.instructions_3') %>
15
+ </p>
16
+ <p>
17
+ <%= Spree.t('user_mailer.confirmation_instructions.thanks') %>
18
+ <br />
19
+ <%= Spree.t('user_mailer.confirmation_instructions.store_team', { store_name: @current_store.name }) %>
20
+ </p>
@@ -1,5 +1,8 @@
1
- <%= Spree.t('confirmation_instructions.welcome', email: @email) %>
2
-
3
- <%= Spree.t('confirmation_instructions.confirm') %>
4
-
1
+ <%= Spree.t('user_mailer.confirmation_instructions.welcome', email: @email) %>
2
+ <%= Spree.t('user_mailer.confirmation_instructions.instructions_1', { store_name: @current_store.name }) %>
3
+ <%= Spree.t('user_mailer.confirmation_instructions.instructions_2') %>
4
+ <%= Spree.t('user_mailer.confirmation_instructions.button') %>
5
5
  <%= @confirmation_url %>
6
+ <%= Spree.t('user_mailer.confirmation_instructions.instructions_3') %>
7
+ <%= Spree.t('user_mailer.confirmation_instructions.thanks') %>
8
+ <%= Spree.t('user_mailer.confirmation_instructions.store_team', { store_name: @current_store.name }) %>
@@ -0,0 +1,20 @@
1
+ <h1>
2
+ <%= Spree.t('user_mailer.reset_password_instructions.welcome', email: @user.email) %>
3
+ </h1>
4
+ <p>
5
+ <%= Spree.t('user_mailer.reset_password_instructions.instructions_1', { store_name: @current_store.name }) %>
6
+ </p>
7
+ <p>
8
+ <%= Spree.t('user_mailer.reset_password_instructions.instructions_2') %>
9
+ </p>
10
+ <p class="body-action">
11
+ <a href="<%= @edit_password_reset_url %>" class="button button--green"><%= Spree.t('user_mailer.reset_password_instructions.button') %></a>
12
+ </p>
13
+ <p>
14
+ <%= Spree.t('user_mailer.reset_password_instructions.instructions_3') %>
15
+ </p>
16
+ <p>
17
+ <%= Spree.t('user_mailer.reset_password_instructions.thanks') %>
18
+ <br />
19
+ <%= Spree.t('user_mailer.reset_password_instructions.store_team', { store_name: @current_store.name }) %>
20
+ </p>
@@ -1,5 +1,12 @@
1
- <%= Spree.t('user_mailer.reset_password_instructions.instructions_1') %>
1
+ <%= Spree.t('user_mailer.reset_password_instructions.welcome', email: @user.email) %>
2
2
 
3
+ <%= Spree.t('user_mailer.reset_password_instructions.instructions_1', { store_name: @current_store.name }) %>
4
+ <%= Spree.t('user_mailer.reset_password_instructions.instructions_2') %>
5
+
6
+ <%= Spree.t('user_mailer.reset_password_instructions.button') %>
3
7
  <%= @edit_password_reset_url %>
4
8
 
5
- <%= Spree.t('user_mailer.reset_password_instructions.instructions_2') %>
9
+ <%= Spree.t('user_mailer.reset_password_instructions.instructions_3') %>
10
+
11
+ <%= Spree.t('user_mailer.reset_password_instructions.thanks') %>
12
+ <%= Spree.t('user_mailer.reset_password_instructions.store_team', { store_name: @current_store.name }) %>
@@ -3,8 +3,6 @@ de:
3
3
  spree:
4
4
  admin_login: Admin Login
5
5
  change_your_password: Kennwort zurücksetzen
6
- store_credits:
7
- credit_balance: Saldo des Guthabens
8
6
  user_mailer:
9
7
  reset_password_instructions:
10
8
  instructions_1: "Es wurde eine Anfrage zum Zurücksetzen Ihres Passworts gestellt.\nWenn Sie diese Anfrage nicht gestellt haben, ignorieren Sie diese E-Mail.\n\nWenn Sie diese Anfrage gestellt haben, klicken Sie bitte auf den folgenden Link:"
@@ -3,18 +3,26 @@ en:
3
3
  spree:
4
4
  admin_login: "Admin Login"
5
5
  change_your_password: "Change your password"
6
- store_credits:
7
- credit_balance: Store Credit Balance
8
6
  user_mailer:
9
7
  reset_password_instructions:
10
- instructions_1: "A request to reset your password has been made.\nIf you did not make this request, simply ignore this email.\n\nIf you did make this request just click the link below:"
11
- instructions_2: "If the above URL does not work try copying and pasting it into your browser.\nIf you continue to have problems please feel free to contact us."
8
+ welcome: "Hi %{email}"
9
+ instructions_1: "A request to reset the password for your %{store_name} account has been made."
10
+ instructions_2: Click the button below to reset it.
11
+ instructions_3: If you did not request a password change ignore this email or contact us.
12
+ button: Reset your password
13
+ thanks: Thank you,
14
+ store_team: "%{store_name} Team"
12
15
  confirmation_instructions:
13
16
  welcome: "Welcome %{email}!"
14
- confirm: "You can confirm your account email through the url below:"
17
+ instructions_1: "Thanks for registering at %{store_name}."
18
+ instructions_2: "Click the button below to confirm your account:"
19
+ instructions_3: If you have any questions, feel free to simply reply to this email.
20
+ button: Confirm email address
21
+ thanks: Thank you,
22
+ store_team: "%{store_name} Team"
15
23
  devise:
16
24
  confirmations:
17
- confirmed: Your account was successfully confirmed. You are now signed in.
25
+ confirmed: Your account was successfully confirmed. You can now log in.
18
26
  send_instructions: You will receive an email with instructions about how to confirm your account in a few minutes.
19
27
  spree_user:
20
28
  already_confirmed: Email was already confirmed, please try signing in.
@@ -3,8 +3,6 @@ zh-TW:
3
3
  spree:
4
4
  admin_login: "管理員登入"
5
5
  change_your_password: "更改密碼"
6
- store_credits:
7
- credit_balance: 商城購物金餘額
8
6
  devise:
9
7
  confirmations:
10
8
  confirmed: 你的帳號已經確認完成,現在你已經登入網站了。
@@ -6,7 +6,8 @@ module Spree::CheckoutControllerDecorator
6
6
  end
7
7
 
8
8
  def registration
9
- @user = Spree.user_class.new
9
+ @user = Spree.user_class.new
10
+ @title = Spree.t(:registration)
10
11
  end
11
12
 
12
13
  def update_registration
@@ -1,11 +1,11 @@
1
1
  class Spree::UsersController < Spree::StoreController
2
2
  before_action :set_current_order, except: :show
3
+ prepend_before_action :load_object, only: [:show, :edit, :update]
3
4
  prepend_before_action :authorize_actions, only: :new
4
5
 
5
6
  include Spree::Core::ControllerHelpers
6
7
 
7
8
  def show
8
- load_object
9
9
  @orders = @user.orders.complete.order('completed_at desc')
10
10
  end
11
11
 
@@ -23,12 +23,7 @@ class Spree::UsersController < Spree::StoreController
23
23
  end
24
24
  end
25
25
 
26
- def edit
27
- load_object
28
- end
29
-
30
26
  def update
31
- load_object
32
27
  if @user.update(user_params)
33
28
  if params[:user][:password].present?
34
29
  # this logic needed b/c devise wants to log us out after password changes
@@ -1,5 +1,4 @@
1
1
  require 'spree_core'
2
2
  require 'spree/auth/devise'
3
3
  require 'spree/authentication_helpers'
4
- require 'deface'
5
4
  require 'spree_extension'
@@ -87,9 +87,9 @@ RSpec.feature 'Checkout', :js, type: :feature do
87
87
  # The 'plain-text' version is sent in the email and there's one way to get that!
88
88
  reset_password_email = ActionMailer::Base.deliveries.first
89
89
  token_url_regex = /^http:\/\/www.example.com\/user\/spree_user\/password\/edit\?reset_password_token=(.*)$/
90
- token = token_url_regex.match(reset_password_email.body.to_s)[1]
90
+ token = token_url_regex.match(reset_password_email.body.encoded)[1]
91
91
 
92
- visit spree.edit_spree_user_password_path(reset_password_token: token)
92
+ visit spree.edit_spree_user_password_path(reset_password_token: token).tr("%0D","")
93
93
  fill_in 'Password', with: 'password'
94
94
  fill_in 'Password Confirmation', with: 'password'
95
95
  click_button 'Update'
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  RSpec.feature 'Confirmation', type: :feature, reload_user: true do
4
4
  before do
5
5
  set_confirmable_option(true)
6
- Spree::UserMailer.stub(:confirmation_instructions).and_return(double(deliver: true))
6
+ expect(Spree::UserMailer).to receive(:confirmation_instructions).with(anything, anything, { current_store_id: Spree::Store.current.id }).and_return(double(deliver: true))
7
7
  end
8
8
 
9
9
  after(:each) { set_confirmable_option(false) }
@@ -22,7 +22,7 @@ RSpec.describe Spree::UserMailer, type: :mailer do
22
22
 
23
23
  context 'body includes' do
24
24
  it 'password reset url' do
25
- expect(@message.body.raw_source).to include "http://#{store.url}/user/spree_user/password/edit"
25
+ expect(@message.body.encoded).to include "http://#{store.url}/user/spree_user/password/edit"
26
26
  end
27
27
  end
28
28
  end
@@ -68,7 +68,7 @@ RSpec.describe Spree::User, type: :model do
68
68
  describe "confirmable", reload_user: true do
69
69
  it "is confirmable if the confirmable option is enabled" do
70
70
  set_confirmable_option(true)
71
- Spree::UserMailer.stub(:confirmation_instructions).and_return(double(deliver: true))
71
+ Spree::UserMailer.stub(:confirmation_instructions).with(anything, anything, { current_store_id: Spree::Store.current.id }).and_return(double(deliver: true))
72
72
  expect(Spree.user_class.devise_modules).to include(:confirmable)
73
73
  set_confirmable_option(false)
74
74
  end
@@ -3,28 +3,33 @@
3
3
  Gem::Specification.new do |s|
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.name = 'spree_auth_devise'
6
- s.version = '4.2.1'
6
+ s.version = '4.3.0'
7
7
  s.summary = 'Provides authentication and authorization services for use with Spree by using Devise and CanCan.'
8
8
  s.description = s.summary
9
9
 
10
10
  s.required_ruby_version = '>= 2.5.0'
11
11
 
12
- s.author = 'Sean Schofield'
13
- s.email = 'sean@spreecommerce.com'
12
+ s.authors = ['Sean Schofield', 'Spark Solutions']
13
+ s.email = 'hello@spreecommerce.org'
14
14
  s.homepage = 'https://spreecommerce.org'
15
15
  s.license = 'BSD-3-Clause'
16
16
 
17
+ s.metadata = {
18
+ "bug_tracker_uri" => "https://github.com/spree/spree_auth_devise/issues",
19
+ "changelog_uri" => "https://github.com/spree/spree_auth_devise/releases/tag/v#{s.version}",
20
+ "documentation_uri" => "https://guides.spreecommerce.org/",
21
+ "source_code_uri" => "https://github.com/spree/spree_auth_devise/tree/v#{s.version}",
22
+ }
23
+
17
24
  s.files = `git ls-files`.split("\n")
18
25
  s.test_files = `git ls-files -- spec/*`.split("\n")
19
26
  s.require_path = 'lib'
20
27
  s.requirements << 'none'
21
28
 
22
- s.add_dependency 'deface', '~> 1.0'
23
-
24
29
  s.add_dependency 'devise', '~> 4.7'
25
30
  s.add_dependency 'devise-encryptable', '0.2.0'
26
31
 
27
- spree_version = '>= 4.1', '< 4.3'
32
+ spree_version = '>= 4.1', '< 5.0'
28
33
  s.add_dependency 'spree_core', spree_version
29
34
  s.add_dependency 'spree_extension'
30
35
 
metadata CHANGED
@@ -1,29 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_auth_devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.1
4
+ version: 4.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
8
+ - Spark Solutions
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2021-11-17 00:00:00.000000000 Z
12
+ date: 2021-01-14 00:00:00.000000000 Z
12
13
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: deface
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.0'
27
14
  - !ruby/object:Gem::Dependency
28
15
  name: devise
29
16
  requirement: !ruby/object:Gem::Requirement
@@ -61,7 +48,7 @@ dependencies:
61
48
  version: '4.1'
62
49
  - - "<"
63
50
  - !ruby/object:Gem::Version
64
- version: '4.3'
51
+ version: '5.0'
65
52
  type: :runtime
66
53
  prerelease: false
67
54
  version_requirements: !ruby/object:Gem::Requirement
@@ -71,7 +58,7 @@ dependencies:
71
58
  version: '4.1'
72
59
  - - "<"
73
60
  - !ruby/object:Gem::Version
74
- version: '4.3'
61
+ version: '5.0'
75
62
  - !ruby/object:Gem::Dependency
76
63
  name: spree_extension
77
64
  requirement: !ruby/object:Gem::Requirement
@@ -102,7 +89,7 @@ dependencies:
102
89
  version: '0'
103
90
  description: Provides authentication and authorization services for use with Spree
104
91
  by using Devise and CanCan.
105
- email: sean@spreecommerce.com
92
+ email: hello@spreecommerce.org
106
93
  executables: []
107
94
  extensions: []
108
95
  extra_rdoc_files: []
@@ -127,10 +114,11 @@ files:
127
114
  - app/mailers/spree/user_mailer.rb
128
115
  - app/models/spree/auth_configuration.rb
129
116
  - app/models/spree/user.rb
130
- - app/overrides/spree/admin/shared/_header/auth_admin_login_navigation_bar.html.erb.deface
131
117
  - app/services/spree/account/create.rb
132
118
  - app/services/spree/account/update.rb
119
+ - app/views/spree/user_mailer/confirmation_instructions.html.erb
133
120
  - app/views/spree/user_mailer/confirmation_instructions.text.erb
121
+ - app/views/spree/user_mailer/reset_password_instructions.html.erb
134
122
  - app/views/spree/user_mailer/reset_password_instructions.text.erb
135
123
  - app/views/spree/user_passwords/edit.html.erb
136
124
  - app/views/spree/user_passwords/new.html.erb
@@ -221,7 +209,6 @@ files:
221
209
  - spec/models/user_spec.rb
222
210
  - spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb
223
211
  - spec/requests/spree/api/v2/storefront/account_spec.rb
224
- - spec/requests/spree/frontend/user_update_spec.rb
225
212
  - spec/spec_helper.rb
226
213
  - spec/support/ability.rb
227
214
  - spec/support/configuration_helpers.rb
@@ -232,7 +219,11 @@ files:
232
219
  homepage: https://spreecommerce.org
233
220
  licenses:
234
221
  - BSD-3-Clause
235
- metadata: {}
222
+ metadata:
223
+ bug_tracker_uri: https://github.com/spree/spree_auth_devise/issues
224
+ changelog_uri: https://github.com/spree/spree_auth_devise/releases/tag/v4.3.0
225
+ documentation_uri: https://guides.spreecommerce.org/
226
+ source_code_uri: https://github.com/spree/spree_auth_devise/tree/v4.3.0
236
227
  post_install_message:
237
228
  rdoc_options: []
238
229
  require_paths:
@@ -285,7 +276,6 @@ test_files:
285
276
  - spec/models/user_spec.rb
286
277
  - spec/requests/spree/api/v2/storefront/account_confirmation_spec.rb
287
278
  - spec/requests/spree/api/v2/storefront/account_spec.rb
288
- - spec/requests/spree/frontend/user_update_spec.rb
289
279
  - spec/spec_helper.rb
290
280
  - spec/support/ability.rb
291
281
  - spec/support/configuration_helpers.rb
@@ -1,4 +0,0 @@
1
- <!-- insert_top "[data-hook='admin_login_navigation_bar'], #admin_login_navigation_bar[data-hook]"
2
- original '71d12ae155143c6ea8090942955299485f534153' -->
3
-
4
- <%= render partial: "spree/layouts/admin/login_nav" %>
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.feature 'User update', type: :request do
4
- context 'CSRF protection' do
5
- %i[exception reset_session null_session].each do |strategy|
6
- # Completely clean the configuration of forgery protection for the
7
- # controller and reset it after the expectations. However, besides `:with`,
8
- # the options given to `protect_from_forgery` are processed on the fly.
9
- # I.e., there's no way to retain them. The initial setup corresponds to the
10
- # dummy application, which uses the default Rails skeleton in that regard.
11
- # So, if at some point Rails changed the given options, we should update it
12
- # here.
13
- around do |example|
14
- controller = Spree::UsersController
15
- old_allow_forgery_protection_value = controller.allow_forgery_protection
16
- old_forgery_protection_strategy = controller.forgery_protection_strategy
17
- controller.skip_forgery_protection
18
- controller.allow_forgery_protection = true
19
- controller.protect_from_forgery with: strategy
20
-
21
- example.run
22
-
23
- controller.allow_forgery_protection = old_allow_forgery_protection_value
24
- controller.forgery_protection_strategy = old_forgery_protection_strategy
25
- end
26
-
27
- it "is not possible to take account over with the #{strategy} forgery protection strategy" do
28
- user = create(:user, email: 'legit@mail.com', password: 'password')
29
-
30
- post '/login', params: "spree_user[email]=legit@mail.com&spree_user[password]=password"
31
- begin
32
- put '/users/123456', params: 'user[email]=hacked@example.com'
33
- rescue
34
- # testing that the account is not compromised regardless of any raised
35
- # exception
36
- end
37
-
38
- expect(user.reload.email).to eq('legit@mail.com')
39
- end
40
- end
41
- end
42
- end