spree_auth_devise 4.1.0 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7803bda30cc0ed9cca3df5b201c6f53e53ed57841dd26c18eecaad80888779e6
4
- data.tar.gz: 615ee2f16b67ed9e082c55c2f3b011ffedd363f7ac83d392819ef6a8f24da7b0
3
+ metadata.gz: 46ff8af21fa16c063b0f61f5993e37f93072587b1e663e58089b2ea0a028b51b
4
+ data.tar.gz: 6d7fa7607dd17ff3b6c5231bd8295c5fef51ea7620e1e459d199b39b42649858
5
5
  SHA512:
6
- metadata.gz: f2fddae86244f213dcdb77ab7f4ef0658b8d9ca3255b43b7d3e53ca0f750479ce0b0d7b80ec59d7a820aa0f17ee670a5b6fd34a485b826681f73b0b972a484bd
7
- data.tar.gz: ec8035b779912362315ada27d8ab6bc69152609e7776d155e7f14a8a2a4fa7920d0e0a89d16968b55cef5e018bcbe967cb70f767917c077915ed40b19cdf1672
6
+ metadata.gz: 1eefe313a0b7cd621e9192d483624541790292872576927da6089350aaa14352faa00e0b2dd8f36d2920b9faf4776cc5287df6c5308d2bce9111ec95228f26a1
7
+ data.tar.gz: 3e941ccde2788291ec91709149786c03dab905cf142811186a43949c3ce6549b89306e8ceb7692070dbb1a7a92ef306ae0adc808d62bb18d1ad27404afbc24f0
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails-controller-testing'
4
- gem 'spree', github: 'spree/spree', branch: 'master'
4
+ gem 'spree', '~> 4.1.0'
5
5
 
6
6
  gemspec
@@ -1,14 +1,18 @@
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]
4
3
  prepend_before_action :authorize_actions, only: :new
5
4
 
6
5
  include Spree::Core::ControllerHelpers
7
6
 
8
7
  def show
8
+ load_object
9
9
  @orders = @user.orders.complete.order('completed_at desc')
10
10
  end
11
11
 
12
+ def edit
13
+ load_object
14
+ end
15
+
12
16
  def create
13
17
  @user = Spree.user_class.new(user_params)
14
18
  if @user.save
@@ -24,6 +28,7 @@ class Spree::UsersController < Spree::StoreController
24
28
  end
25
29
 
26
30
  def update
31
+ load_object
27
32
  if @user.update(user_params)
28
33
  if params[:user][:password].present?
29
34
  # this logic needed b/c devise wants to log us out after password changes
@@ -0,0 +1,42 @@
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
@@ -3,7 +3,7 @@
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.1.0'
6
+ s.version = '4.1.1'
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
 
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_dependency 'devise', '~> 4.7'
25
25
  s.add_dependency 'devise-encryptable', '0.2.0'
26
26
 
27
- spree_version = '>= 4.1.0.alpha', '< 5.0'
27
+ spree_version = '>= 4.1.0.alpha', '< 4.2'
28
28
  s.add_dependency 'spree_core', spree_version
29
29
  s.add_dependency 'spree_extension'
30
30
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_auth_devise
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-20 00:00:00.000000000 Z
11
+ date: 2021-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deface
@@ -61,7 +61,7 @@ dependencies:
61
61
  version: 4.1.0.alpha
62
62
  - - "<"
63
63
  - !ruby/object:Gem::Version
64
- version: '5.0'
64
+ version: '4.2'
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
@@ -71,7 +71,7 @@ dependencies:
71
71
  version: 4.1.0.alpha
72
72
  - - "<"
73
73
  - !ruby/object:Gem::Version
74
- version: '5.0'
74
+ version: '4.2'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: spree_extension
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -361,7 +361,7 @@ dependencies:
361
361
  version: 4.1.0.alpha
362
362
  - - "<"
363
363
  - !ruby/object:Gem::Version
364
- version: '5.0'
364
+ version: '4.2'
365
365
  type: :development
366
366
  prerelease: false
367
367
  version_requirements: !ruby/object:Gem::Requirement
@@ -371,7 +371,7 @@ dependencies:
371
371
  version: 4.1.0.alpha
372
372
  - - "<"
373
373
  - !ruby/object:Gem::Version
374
- version: '5.0'
374
+ version: '4.2'
375
375
  - !ruby/object:Gem::Dependency
376
376
  name: spree_frontend
377
377
  requirement: !ruby/object:Gem::Requirement
@@ -381,7 +381,7 @@ dependencies:
381
381
  version: 4.1.0.alpha
382
382
  - - "<"
383
383
  - !ruby/object:Gem::Version
384
- version: '5.0'
384
+ version: '4.2'
385
385
  type: :development
386
386
  prerelease: false
387
387
  version_requirements: !ruby/object:Gem::Requirement
@@ -391,7 +391,7 @@ dependencies:
391
391
  version: 4.1.0.alpha
392
392
  - - "<"
393
393
  - !ruby/object:Gem::Version
394
- version: '5.0'
394
+ version: '4.2'
395
395
  - !ruby/object:Gem::Dependency
396
396
  name: sqlite3
397
397
  requirement: !ruby/object:Gem::Requirement
@@ -532,6 +532,7 @@ files:
532
532
  - spec/mailers/user_mailer_spec.rb
533
533
  - spec/models/order_spec.rb
534
534
  - spec/models/user_spec.rb
535
+ - spec/requests/spree/frontend/user_update_spec.rb
535
536
  - spec/spec_helper.rb
536
537
  - spec/support/ability.rb
537
538
  - spec/support/add_to_cart.rb
@@ -550,7 +551,7 @@ homepage: https://spreecommerce.org
550
551
  licenses:
551
552
  - BSD-3-Clause
552
553
  metadata: {}
553
- post_install_message:
554
+ post_install_message:
554
555
  rdoc_options: []
555
556
  require_paths:
556
557
  - lib
@@ -566,8 +567,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
566
567
  version: '0'
567
568
  requirements:
568
569
  - none
569
- rubygems_version: 3.0.2
570
- signing_key:
570
+ rubygems_version: 3.1.4
571
+ signing_key:
571
572
  specification_version: 4
572
573
  summary: Provides authentication and authorization services for use with Spree by
573
574
  using Devise and CanCan.
@@ -599,6 +600,7 @@ test_files:
599
600
  - spec/mailers/user_mailer_spec.rb
600
601
  - spec/models/order_spec.rb
601
602
  - spec/models/user_spec.rb
603
+ - spec/requests/spree/frontend/user_update_spec.rb
602
604
  - spec/spec_helper.rb
603
605
  - spec/support/ability.rb
604
606
  - spec/support/add_to_cart.rb