omniauth-bigcommerce 0.4.0 → 0.7.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 +4 -4
- data/Gemfile +11 -0
- data/lib/omniauth/bigcommerce/version.rb +1 -1
- data/lib/omniauth/strategies/bigcommerce.rb +27 -10
- data/lib/omniauth-bigcommerce.rb +2 -0
- data/omniauth-bigcommerce.gemspec +4 -6
- metadata +16 -51
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e40e3e3d05e43157542364db8414d734f03625b375b6814f334790e11fb45e3d
|
|
4
|
+
data.tar.gz: e6b1a56d90e04aaec7696f339091cb2f2b6e197c86c4dd06b5fa4e001213fbc8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0cb713833997ea689d060787152f282f93e80baebba7fd56dd3328fd3cd23004c1f07baa5a6bd0e4723de4b80ce9db31822d6eee3d9df1f61848c63874ebfb80
|
|
7
|
+
data.tar.gz: 01ea39fa058bf18b6ab872e56be14dc6dcf8768ed0c6bbe81e93e10a90be6ecc09eff417bf1c4306505f9cbaaad4bc166bc0809992a5b7e51ed750331b354760
|
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'
|
|
@@ -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, [
|
|
28
|
-
option :token_options, [
|
|
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
|
-
|
|
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 +
|
|
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
|
|
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
|
|
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
|
data/lib/omniauth-bigcommerce.rb
CHANGED
|
@@ -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 = '>=
|
|
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', '>=
|
|
34
|
+
gem.add_dependency 'oauth2', '>= 2.0.22', '< 3'
|
|
35
35
|
gem.add_dependency 'omniauth'
|
|
36
|
-
gem.add_dependency 'omniauth-oauth2', '>= 1.
|
|
37
|
-
gem.
|
|
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
|
+
version: 0.7.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:
|
|
11
|
+
date: 2026-06-15 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:
|
|
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:
|
|
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:
|
|
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:
|
|
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: '
|
|
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.
|
|
94
|
+
rubygems_version: 3.5.22
|
|
130
95
|
signing_key:
|
|
131
96
|
specification_version: 4
|
|
132
97
|
summary: Official OmniAuth strategy for BigCommerce.
|