omniauth-shopify-oauth2 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f24fe6681c6f7153279737aa891bb2a400e8ae9c
4
- data.tar.gz: fb0c659e1ed149565bfde4ec52018b2d65f84f28
3
+ metadata.gz: c392a50f6fa891ac174ac7c7e7958ecdf5ee0d01
4
+ data.tar.gz: df0450c540e19b197281921adae1a073ac1b5d3e
5
5
  SHA512:
6
- metadata.gz: 1a2ac60edb571aabc8551c922298eacf213ff39906172c5bcfbde361896cb78ca757e2bccb1f826d84c143d68103417509dde3533d310e78ea35e1ff7c044921
7
- data.tar.gz: 2aec89d6c7778ecc9bdbf71cf9a44afd325b02ef6d65231a4d6a9facb80c5da94e03ddbe615de3a9541f42fc78f6b4ec92abdc5ab2c4df559ee7e01fc08b67dd
6
+ metadata.gz: bf6d6f10356702d2aecf8e79ea67ff7a59d64deb4ed71b62e88051c6d0f9579ad01438ab1eb4077e859a7b3cf6c6d578eabe35eaffd11a9e75140cd06d1a8855
7
+ data.tar.gz: 3faf0377495c9abf3bb35164127800cbbe3cdc28e64d9aeb12c32436ad80fe888c8789d2f1c92ef5bf5245594817214b0114d5eb0c28b47008baa7bcb84310af
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- omniauth-shopify-oauth2 (1.1.3)
4
+ omniauth-shopify-oauth2 (1.1.4)
5
5
  omniauth-oauth2 (~> 1.1.1)
6
6
 
7
7
  GEM
@@ -10,10 +10,10 @@ GEM
10
10
  diff-lcs (1.1.3)
11
11
  faraday (0.9.0)
12
12
  multipart-post (>= 1.2, < 3)
13
- hashie (2.0.5)
13
+ hashie (2.1.1)
14
14
  jwt (0.1.11)
15
15
  multi_json (>= 1.5)
16
- multi_json (1.9.0)
16
+ multi_json (1.9.2)
17
17
  multi_xml (0.5.5)
18
18
  multipart-post (2.0.0)
19
19
  oauth2 (0.9.3)
data/README.md CHANGED
@@ -14,7 +14,7 @@ Then `bundle install`.
14
14
 
15
15
  ## Usage
16
16
 
17
- `OmniAuth::Strategies::Shopify` is simply a Rack middleware. Read the OmniAuth 1.0 docs for detailed instructions: https://github.com/intridea/omniauth.
17
+ `OmniAuth::Strategies::Shopify` is simply a Rack middleware. Read [the OmniAuth 1.0 docs](https://github.com/intridea/omniauth) for detailed instructions.
18
18
 
19
19
  Here's a quick example, adding the middleware to a Rails app in `config/initializers/omniauth.rb`:
20
20
 
@@ -28,9 +28,9 @@ end
28
28
 
29
29
  You can configure the scope, which you pass in to the `provider` method via a `Hash`:
30
30
 
31
- * `scope`: A comma-separated list of permissions you want to request from the user. See the Shopify API docs for a full list of available permissions: http://api.shopify.com.
31
+ * `scope`: A comma-separated list of permissions you want to request from the user. See [the Shopify API docs](http://docs.shopify.com/api/tutorials/oauth) for a full list of available permissions.
32
32
 
33
- * `setup`: A lambda which dynamically sets the `site`. You must initiate the omniauth process by passing in a shop query parameter of the shop you're requesting permissions for. Ex. http://myapp.com/auth/shopify?shop=example.myshopify.com
33
+ * `setup`: A lambda which dynamically sets the `site`. You must initiate the OmniAuth process by passing in a `shop` query parameter of the shop you're requesting permissions for. Ex. http://myapp.com/auth/shopify?shop=example.myshopify.com
34
34
 
35
35
  For example, to request `read_products`, `read_orders` and `write_content` permissions and display the authentication page:
36
36
 
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Shopify
3
- VERSION = "1.1.3"
3
+ VERSION = "1.1.4"
4
4
  end
5
5
  end
@@ -15,11 +15,12 @@ module OmniAuth
15
15
  option :callback_url
16
16
 
17
17
  option :provider_ignores_state, true
18
+ option :myshopify_domain, 'myshopify.com'
18
19
 
19
20
  uid { URI.parse(options[:client_options][:site]).host }
20
21
 
21
22
  def valid_site?
22
- return /\A(https|http)\:\/\/[a-zA-Z0-9][a-zA-Z0-9\-]*\.myshopify\.com[\/]?\z/ =~ options[:client_options][:site]
23
+ !!(/\A(https|http)\:\/\/[a-zA-Z0-9][a-zA-Z0-9\-]*\.#{Regexp.quote(options[:myshopify_domain])}[\/]?\z/ =~ options[:client_options][:site])
23
24
  end
24
25
 
25
26
  def fix_https
@@ -112,4 +112,26 @@ describe OmniAuth::Strategies::Shopify do
112
112
  end
113
113
 
114
114
  end
115
+
116
+ describe '#valid_site?' do
117
+ it 'returns true if the site contains .myshopify.com' do
118
+ @options = {:client_options => {:site => 'http://foo.myshopify.com/'}}
119
+ subject.valid_site?.should eq(true)
120
+ end
121
+
122
+ it 'returns false if the site does not contain .myshopify.com' do
123
+ @options = {:client_options => {:site => 'http://foo.example.com/'}}
124
+ subject.valid_site?.should eq(false)
125
+ end
126
+
127
+ it 'uses configurable option for myshopify_domain' do
128
+ @options = {:client_options => {:site => 'http://foo.example.com/'}, :myshopify_domain => 'example.com'}
129
+ subject.valid_site?.should eq(true)
130
+ end
131
+
132
+ it 'allows custom port for myshopify_domain' do
133
+ @options = {:client_options => {:site => 'http://foo.example.com:3456/'}, :myshopify_domain => 'example.com:3456'}
134
+ subject.valid_site?.should eq(true)
135
+ end
136
+ end
115
137
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-shopify-oauth2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Odorcic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-11 00:00:00.000000000 Z
11
+ date: 2014-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth-oauth2
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  version: '0'
96
96
  requirements: []
97
97
  rubyforge_project:
98
- rubygems_version: 2.2.0
98
+ rubygems_version: 2.2.2
99
99
  signing_key:
100
100
  specification_version: 4
101
101
  summary: Shopify strategy for OmniAuth