omniauth-bigcommerce 0.4.0 → 0.6.0

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: 3af39b941a02c794d0dd32d23dd53735584c7bea44a70ccadd9287a15380df7d
4
- data.tar.gz: c2855cca3de541800353f135e45bcc6348452798309d20c8fac917a726c9643f
3
+ metadata.gz: 94fe29588447b0666473ccef5dc1820d10884e7ad531410ae6f464c9aa2809bf
4
+ data.tar.gz: 53bb238cdf4377d42dd9358bd032382ee2b148add235a3c7d51719b655de8eb3
5
5
  SHA512:
6
- metadata.gz: f1e96c3c8d51feb08dbf98b3c7a47ef53bc897ee347528a2e446049220887381cafe9c3fc32f4a6cf91ee72ab297f631d4982c39c3d2318930014572345124a3
7
- data.tar.gz: 61659f051ced9dd8560bb6308d32c42b9ff52d1a1e5c7a0ddbf1df91a5670733df6f0b4fbd42d8a0d7c999dcf588fd958f8997b04afd3b66096606730e3741c2
6
+ metadata.gz: 7038bfc278a92340eadb768b68e286de9a2afc101cd451792e8297c28c323f0b2925068b123bb5c9b7abd07ce947a9ffca2056c990e5251efe4d3d0f0078ac99
7
+ data.tar.gz: 9a70721b5b37ebe26920cda450d6136c58224bee06c20375fa3cee345803be5d74c62790297989d2f71552053d46fff5e1aa4b7ecd9d6fd81910689030a85f16
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2017-present, BigCommerce Pty. Ltd. All rights reserved
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
@@ -16,3 +18,12 @@
16
18
  source 'https://rubygems.org'
17
19
 
18
20
  gemspec
21
+
22
+ gem 'bundler-audit', '>= 0.9'
23
+ gem 'rake', '~> 13.0'
24
+ gem 'rspec', '~> 3.0'
25
+ gem 'rspec_junit_formatter'
26
+ gem 'rubocop', '~> 1.21'
27
+ gem 'rubocop-performance', '~> 1.19.0'
28
+ gem 'rubocop-thread_safety', '~> 0.5.1'
29
+ gem 'simplecov'
@@ -17,6 +17,6 @@
17
17
  #
18
18
  module OmniAuth
19
19
  module BigCommerce
20
- VERSION = '0.4.0'
20
+ VERSION = '0.6.0'
21
21
  end
22
22
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2017-present, BigCommerce Pty. Ltd. All rights reserved
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
@@ -24,13 +26,16 @@ module OmniAuth
24
26
  option :name, 'bigcommerce'
25
27
  option :provider_ignores_state, true
26
28
  option :scope, 'users_basic_information'
27
- option :authorize_options, [:scope, :context]
28
- option :token_options, [:scope, :context, :account_uuid]
29
+ option :authorize_options, %i[scope context]
30
+ option :token_options, %i[scope context account_uuid]
29
31
  option :client_options,
30
32
  site: ENV.fetch('BC_AUTH_SERVICE', 'https://login.bigcommerce.com'),
31
33
  authorize_url: '/oauth2/authorize',
32
- token_url: '/oauth2/token'
33
-
34
+ token_url: '/oauth2/token',
35
+ # oauth2 2.x defaults auth_scheme to :basic_auth, which sends the client
36
+ # credentials in the Authorization header. BigCommerce's token endpoint
37
+ # expects them in the request body, so preserve the oauth2 1.x behavior.
38
+ auth_scheme: :request_body
34
39
 
35
40
  uid { access_token.params['user']['id'] }
36
41
 
@@ -42,9 +47,11 @@ module OmniAuth
42
47
  end
43
48
 
44
49
  credentials do
45
- {
46
- token: access_token
47
- }
50
+ hash = { 'token' => access_token.token }
51
+ hash['refresh_token'] = access_token.refresh_token if access_token.expires? && access_token.refresh_token
52
+ hash['expires_at'] = access_token.expires_at if access_token.expires?
53
+ hash['expires'] = access_token.expires?
54
+ hash
48
55
  end
49
56
 
50
57
  extra do
@@ -62,8 +69,10 @@ module OmniAuth
62
69
 
63
70
  # Exclude query string in callback url. This used to be part of omniauth-oauth2, but was
64
71
  # removed in 1.4.0: https://github.com/intridea/omniauth-oauth2/pull/70
72
+ # Note: callback_path already includes script_name (omniauth/strategy.rb#L458), so we
73
+ # must not prepend script_name again here.
65
74
  def callback_url
66
- full_host + script_name + callback_path
75
+ full_host + callback_path
67
76
  end
68
77
 
69
78
  # Make sure to pass scope and context through to the authorize call
@@ -71,7 +80,7 @@ module OmniAuth
71
80
  def authorize_params
72
81
  super.tap do |params|
73
82
  options[:authorize_options].each do |k|
74
- params[k] = request.params[k.to_s] unless [nil, ''].include?(request.params[k.to_s])
83
+ params[k] = request.params[k.to_s] unless blank?(request.params[k.to_s])
75
84
  end
76
85
  end
77
86
  end
@@ -80,10 +89,18 @@ module OmniAuth
80
89
  def token_params
81
90
  super.tap do |params|
82
91
  options[:token_options].each do |k|
83
- params[k] = request.params[k.to_s] unless [nil, ''].include?(request.params[k.to_s])
92
+ params[k] = request.params[k.to_s] unless blank?(request.params[k.to_s])
84
93
  end
85
94
  end
86
95
  end
96
+
97
+ ##
98
+ # Checks for nil or empty values
99
+ # @param [String|nil] value
100
+ # @return [Boolean]
101
+ def blank?(value)
102
+ value.nil? || value.empty?
103
+ end
87
104
  end
88
105
  end
89
106
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2017-present, BigCommerce Pty. Ltd. All rights reserved
2
4
  #
3
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
@@ -27,14 +27,12 @@ Gem::Specification.new do |gem|
27
27
  gem.files = Dir['README.md', 'lib/**/*', 'omniauth-bigcommerce.gemspec', 'Gemfile']
28
28
  gem.name = 'omniauth-bigcommerce'
29
29
  gem.require_paths = ['lib']
30
- gem.required_ruby_version = '>= 2.1'
30
+ gem.required_ruby_version = '>= 3.3'
31
31
  gem.version = OmniAuth::BigCommerce::VERSION
32
32
  gem.license = 'MIT'
33
33
 
34
- gem.add_dependency 'oauth2', '>= 1.4.4'
34
+ gem.add_dependency 'oauth2', '>= 2.0.22', '< 3'
35
35
  gem.add_dependency 'omniauth'
36
- gem.add_dependency 'omniauth-oauth2', '>= 1.5'
37
- gem.add_development_dependency 'rake'
38
- gem.add_development_dependency 'rspec'
39
- gem.add_development_dependency 'simplecov'
36
+ gem.add_dependency 'omniauth-oauth2', '>= 1.7.3'
37
+ gem.metadata['rubygems_mfa_required'] = 'true'
40
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-bigcommerce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - BigCommerce Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-21 00:00:00.000000000 Z
11
+ date: 2026-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2
@@ -16,14 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.4.4
19
+ version: 2.0.22
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: 1.4.4
29
+ version: 2.0.22
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: omniauth
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -44,56 +50,14 @@ dependencies:
44
50
  requirements:
45
51
  - - ">="
46
52
  - !ruby/object:Gem::Version
47
- version: '1.5'
53
+ version: 1.7.3
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - ">="
53
59
  - !ruby/object:Gem::Version
54
- version: '1.5'
55
- - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: simplecov
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
60
+ version: 1.7.3
97
61
  description: Official OmniAuth strategy for BigCommerce.
98
62
  email:
99
63
  - developer@bigcommerce.com
@@ -110,7 +74,8 @@ files:
110
74
  homepage: https://github.com/bigcommerce/omniauth-bigcommerce
111
75
  licenses:
112
76
  - MIT
113
- metadata: {}
77
+ metadata:
78
+ rubygems_mfa_required: 'true'
114
79
  post_install_message:
115
80
  rdoc_options: []
116
81
  require_paths:
@@ -119,14 +84,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
84
  requirements:
120
85
  - - ">="
121
86
  - !ruby/object:Gem::Version
122
- version: '2.1'
87
+ version: '3.3'
123
88
  required_rubygems_version: !ruby/object:Gem::Requirement
124
89
  requirements:
125
90
  - - ">="
126
91
  - !ruby/object:Gem::Version
127
92
  version: '0'
128
93
  requirements: []
129
- rubygems_version: 3.3.4
94
+ rubygems_version: 3.5.22
130
95
  signing_key:
131
96
  specification_version: 4
132
97
  summary: Official OmniAuth strategy for BigCommerce.