shopify_app 18.0.2 → 18.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/build.yml +2 -3
- data/.nvmrc +1 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +20 -0
- data/CONTRIBUTING.md +6 -1
- data/Gemfile.lock +108 -94
- data/README.md +1 -0
- data/app/assets/javascripts/shopify_app/app_bridge_1.30.0.js +1 -0
- data/app/assets/javascripts/shopify_app/app_bridge_redirect.js +23 -0
- data/app/assets/javascripts/shopify_app/redirect.js +9 -11
- data/app/assets/javascripts/shopify_app/storage_access.js +4 -10
- data/app/controllers/concerns/shopify_app/ensure_authenticated_links.rb +15 -2
- data/app/controllers/shopify_app/webhooks_controller.rb +1 -2
- data/app/views/shopify_app/sessions/enable_cookies.html.erb +1 -1
- data/app/views/shopify_app/sessions/request_storage_access.html.erb +11 -11
- data/app/views/shopify_app/shared/redirect.html.erb +2 -2
- data/config/locales/zh-CN.yml +1 -1
- data/docs/shopify_app/engine.md +2 -2
- data/docs/shopify_app/handling-access-scopes-changes.md +11 -1
- data/docs/shopify_app/script-tags.md +1 -1
- data/docs/shopify_app/webhooks.md +2 -2
- data/lib/generators/shopify_app/home_controller/templates/index.html.erb +4 -0
- data/lib/generators/shopify_app/install/install_generator.rb +5 -1
- data/lib/generators/shopify_app/install/templates/embedded_app.html.erb +2 -0
- data/lib/generators/shopify_app/install/templates/shopify_app_importmap.js +13 -0
- data/lib/shopify_app/controller_concerns/login_protection.rb +6 -0
- data/lib/shopify_app/middleware/jwt_middleware.rb +1 -0
- data/lib/shopify_app/session/jwt.rb +4 -0
- data/lib/shopify_app/version.rb +1 -1
- data/lib/shopify_app.rb +8 -0
- data/package.json +1 -1
- data/shopify_app.gemspec +3 -3
- data/translation.yml +1 -1
- data/yarn.lock +97 -82
- metadata +9 -14
- data/config/locales/hi.yml +0 -23
- data/config/locales/ms.yml +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4571927d22f1c18f5eef9e632f8ff6b1ebd6b349535326689329ff58f3671db1
|
4
|
+
data.tar.gz: 64042b37063c63155d438168bac3d67bca792b88ed094a0e19a1b67fc6f3d157
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7eea139dac2c0ad527e52b486b027ede7185f9d457210f5fcb38de38c983e2f8156909dcee422f0204054d1b955375b9658522587e7561fcba3a8e7948e6cb93
|
7
|
+
data.tar.gz: b2baed7f9cd833f4f1fcf54ae8ffc54327f2afc259c786b7dd7ec579d7b2010b518283c70a2004ad1c0529221b97480659672f5c064e79710fd6285437236b9b
|
data/.github/workflows/build.yml
CHANGED
@@ -12,7 +12,7 @@ jobs:
|
|
12
12
|
name: Ruby ${{ matrix.version }}
|
13
13
|
strategy:
|
14
14
|
matrix:
|
15
|
-
version: [2.
|
15
|
+
version: ['2.6', '2.7', '3.0']
|
16
16
|
|
17
17
|
steps:
|
18
18
|
- uses: actions/checkout@v2
|
@@ -24,7 +24,7 @@ jobs:
|
|
24
24
|
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
|
25
25
|
- name: Set up Ruby ${{ matrix.version }}
|
26
26
|
uses: ruby/setup-ruby@v1
|
27
|
-
with:
|
27
|
+
with:
|
28
28
|
ruby-version: ${{ matrix.version }}
|
29
29
|
bundler-cache: true
|
30
30
|
- name: Set up Node
|
@@ -38,4 +38,3 @@ jobs:
|
|
38
38
|
run: |
|
39
39
|
yarn test
|
40
40
|
bundle exec rake test
|
41
|
-
|
data/.nvmrc
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
12.22.8
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.0.3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
18.1.1 (Feb 2, 2022)
|
2
|
+
* Fix bug causing `unsafe-inline` CSP violation. [#1362](https://github.com/Shopify/shopify_app/pull/1362)
|
3
|
+
|
4
|
+
18.1.0 (Jan 28, 2022)
|
5
|
+
----------
|
6
|
+
* Support Rails 7 [#1354](https://github.com/Shopify/shopify_app/pull/1354)
|
7
|
+
* Fix webhooks handling in Ruby 3 [#1342](https://github.com/Shopify/shopify_app/pull/1342)
|
8
|
+
* Update to Ruby 3 and drop support to Ruby 2.5 [#1359](https://github.com/Shopify/shopify_app/pull/1359)
|
9
|
+
|
10
|
+
18.0.4 (Jan 27, 2022)
|
11
|
+
----------
|
12
|
+
* Use App Bridge client for redirect [#1247](https://github.com/Shopify/shopify_app/pull/1247)
|
13
|
+
* Replaces deprecated EASDK with App Bridge when redirecting out of an embedded iframe.
|
14
|
+
|
15
|
+
18.0.3 (Jan 7, 2022)
|
16
|
+
----------
|
17
|
+
* Change regexp to match standard ngrok URLs. [#1311](https://github.com/Shopify/shopify_app/pull/1311)
|
18
|
+
* Make `EnsureAuthenticatedLinks` compatible with AppBridge 2.0. [#1277](https://github.com/Shopify/shopify_app/pull/1277)
|
19
|
+
* Includes the `host` parameter when redirecting to the splash page in an unauthenticated state.
|
20
|
+
|
1
21
|
18.0.2 (Jun 15, 2021)
|
2
22
|
----------
|
3
23
|
* Added careers link to readme. [#1274](https://github.com/Shopify/shopify_app/pull/1274)
|
data/CONTRIBUTING.md
CHANGED
@@ -73,4 +73,9 @@ Please follow these steps to have your contribution considered by the maintainer
|
|
73
73
|
<summary>What if the status checks are failing?</summary>
|
74
74
|
|
75
75
|
While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.
|
76
|
-
</details>
|
76
|
+
</details>
|
77
|
+
|
78
|
+
### App Bridge client
|
79
|
+
|
80
|
+
This gem ships with a UMD version of the App Bridge client. It lives inside the assets folder: `app/assets/javascripts/shopify_app/`. To update the client, simply download the UMD build from [unpkg.com](https://unpkg.com/@shopify/app-bridge) and save it into the folder.
|
81
|
+
Please follow the convention of including the client version number in the filename. Finally, change the reference to the new App Bridge client inside `app/assets/javascripts/shopify_app/app_bridge_redirect.js`.
|
data/Gemfile.lock
CHANGED
@@ -1,136 +1,150 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
shopify_app (18.
|
5
|
-
browser_sniffer (~> 1.
|
4
|
+
shopify_app (18.1.1)
|
5
|
+
browser_sniffer (~> 1.4.0)
|
6
6
|
jwt (>= 2.2.3)
|
7
7
|
omniauth-rails_csrf_protection
|
8
8
|
omniauth-shopify-oauth2 (~> 2.3)
|
9
|
-
rails (> 5.2.1
|
9
|
+
rails (> 5.2.1)
|
10
10
|
redirect_safely (~> 1.0)
|
11
11
|
shopify_api (~> 9.4)
|
12
12
|
|
13
13
|
GEM
|
14
14
|
remote: https://rubygems.org/
|
15
15
|
specs:
|
16
|
-
actioncable (6.1.
|
17
|
-
actionpack (= 6.1.
|
18
|
-
activesupport (= 6.1.
|
16
|
+
actioncable (6.1.4.4)
|
17
|
+
actionpack (= 6.1.4.4)
|
18
|
+
activesupport (= 6.1.4.4)
|
19
19
|
nio4r (~> 2.0)
|
20
20
|
websocket-driver (>= 0.6.1)
|
21
|
-
actionmailbox (6.1.
|
22
|
-
actionpack (= 6.1.
|
23
|
-
activejob (= 6.1.
|
24
|
-
activerecord (= 6.1.
|
25
|
-
activestorage (= 6.1.
|
26
|
-
activesupport (= 6.1.
|
21
|
+
actionmailbox (6.1.4.4)
|
22
|
+
actionpack (= 6.1.4.4)
|
23
|
+
activejob (= 6.1.4.4)
|
24
|
+
activerecord (= 6.1.4.4)
|
25
|
+
activestorage (= 6.1.4.4)
|
26
|
+
activesupport (= 6.1.4.4)
|
27
27
|
mail (>= 2.7.1)
|
28
|
-
actionmailer (6.1.
|
29
|
-
actionpack (= 6.1.
|
30
|
-
actionview (= 6.1.
|
31
|
-
activejob (= 6.1.
|
32
|
-
activesupport (= 6.1.
|
28
|
+
actionmailer (6.1.4.4)
|
29
|
+
actionpack (= 6.1.4.4)
|
30
|
+
actionview (= 6.1.4.4)
|
31
|
+
activejob (= 6.1.4.4)
|
32
|
+
activesupport (= 6.1.4.4)
|
33
33
|
mail (~> 2.5, >= 2.5.4)
|
34
34
|
rails-dom-testing (~> 2.0)
|
35
|
-
actionpack (6.1.
|
36
|
-
actionview (= 6.1.
|
37
|
-
activesupport (= 6.1.
|
35
|
+
actionpack (6.1.4.4)
|
36
|
+
actionview (= 6.1.4.4)
|
37
|
+
activesupport (= 6.1.4.4)
|
38
38
|
rack (~> 2.0, >= 2.0.9)
|
39
39
|
rack-test (>= 0.6.3)
|
40
40
|
rails-dom-testing (~> 2.0)
|
41
41
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
42
|
-
actiontext (6.1.
|
43
|
-
actionpack (= 6.1.
|
44
|
-
activerecord (= 6.1.
|
45
|
-
activestorage (= 6.1.
|
46
|
-
activesupport (= 6.1.
|
42
|
+
actiontext (6.1.4.4)
|
43
|
+
actionpack (= 6.1.4.4)
|
44
|
+
activerecord (= 6.1.4.4)
|
45
|
+
activestorage (= 6.1.4.4)
|
46
|
+
activesupport (= 6.1.4.4)
|
47
47
|
nokogiri (>= 1.8.5)
|
48
|
-
actionview (6.1.
|
49
|
-
activesupport (= 6.1.
|
48
|
+
actionview (6.1.4.4)
|
49
|
+
activesupport (= 6.1.4.4)
|
50
50
|
builder (~> 3.1)
|
51
51
|
erubi (~> 1.4)
|
52
52
|
rails-dom-testing (~> 2.0)
|
53
53
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
54
|
-
activejob (6.1.
|
55
|
-
activesupport (= 6.1.
|
54
|
+
activejob (6.1.4.4)
|
55
|
+
activesupport (= 6.1.4.4)
|
56
56
|
globalid (>= 0.3.6)
|
57
|
-
activemodel (6.1.
|
58
|
-
activesupport (= 6.1.
|
57
|
+
activemodel (6.1.4.4)
|
58
|
+
activesupport (= 6.1.4.4)
|
59
59
|
activemodel-serializers-xml (1.0.2)
|
60
60
|
activemodel (> 5.x)
|
61
61
|
activesupport (> 5.x)
|
62
62
|
builder (~> 3.1)
|
63
|
-
activerecord (6.1.
|
64
|
-
activemodel (= 6.1.
|
65
|
-
activesupport (= 6.1.
|
63
|
+
activerecord (6.1.4.4)
|
64
|
+
activemodel (= 6.1.4.4)
|
65
|
+
activesupport (= 6.1.4.4)
|
66
66
|
activeresource (5.1.1)
|
67
67
|
activemodel (>= 5.0, < 7)
|
68
68
|
activemodel-serializers-xml (~> 1.0)
|
69
69
|
activesupport (>= 5.0, < 7)
|
70
|
-
activestorage (6.1.
|
71
|
-
actionpack (= 6.1.
|
72
|
-
activejob (= 6.1.
|
73
|
-
activerecord (= 6.1.
|
74
|
-
activesupport (= 6.1.
|
70
|
+
activestorage (6.1.4.4)
|
71
|
+
actionpack (= 6.1.4.4)
|
72
|
+
activejob (= 6.1.4.4)
|
73
|
+
activerecord (= 6.1.4.4)
|
74
|
+
activesupport (= 6.1.4.4)
|
75
75
|
marcel (~> 1.0.0)
|
76
|
-
mini_mime (
|
77
|
-
activesupport (6.1.
|
76
|
+
mini_mime (>= 1.1.0)
|
77
|
+
activesupport (6.1.4.4)
|
78
78
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
79
79
|
i18n (>= 1.6, < 2)
|
80
80
|
minitest (>= 5.1)
|
81
81
|
tzinfo (~> 2.0)
|
82
82
|
zeitwerk (~> 2.3)
|
83
|
-
addressable (2.
|
83
|
+
addressable (2.8.0)
|
84
84
|
public_suffix (>= 2.0.2, < 5.0)
|
85
85
|
ast (2.4.1)
|
86
86
|
binding_of_caller (0.8.0)
|
87
87
|
debug_inspector (>= 0.0.1)
|
88
|
-
browser_sniffer (1.
|
88
|
+
browser_sniffer (1.4.0)
|
89
89
|
builder (3.2.4)
|
90
90
|
byebug (11.1.3)
|
91
91
|
coderay (1.1.3)
|
92
|
-
concurrent-ruby (1.1.
|
92
|
+
concurrent-ruby (1.1.9)
|
93
93
|
crack (0.4.4)
|
94
94
|
crass (1.0.6)
|
95
95
|
debug_inspector (0.0.3)
|
96
96
|
erubi (1.10.0)
|
97
|
-
faraday (1.
|
97
|
+
faraday (1.9.3)
|
98
|
+
faraday-em_http (~> 1.0)
|
99
|
+
faraday-em_synchrony (~> 1.0)
|
98
100
|
faraday-excon (~> 1.1)
|
101
|
+
faraday-httpclient (~> 1.0)
|
102
|
+
faraday-multipart (~> 1.0)
|
99
103
|
faraday-net_http (~> 1.0)
|
100
|
-
faraday-net_http_persistent (~> 1.
|
101
|
-
|
104
|
+
faraday-net_http_persistent (~> 1.0)
|
105
|
+
faraday-patron (~> 1.0)
|
106
|
+
faraday-rack (~> 1.0)
|
107
|
+
faraday-retry (~> 1.0)
|
102
108
|
ruby2_keywords (>= 0.0.4)
|
109
|
+
faraday-em_http (1.0.0)
|
110
|
+
faraday-em_synchrony (1.0.0)
|
103
111
|
faraday-excon (1.1.0)
|
112
|
+
faraday-httpclient (1.0.1)
|
113
|
+
faraday-multipart (1.0.3)
|
114
|
+
multipart-post (>= 1.2, < 3)
|
104
115
|
faraday-net_http (1.0.1)
|
105
|
-
faraday-net_http_persistent (1.
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
116
|
+
faraday-net_http_persistent (1.2.0)
|
117
|
+
faraday-patron (1.0.0)
|
118
|
+
faraday-rack (1.0.0)
|
119
|
+
faraday-retry (1.0.3)
|
120
|
+
globalid (1.0.0)
|
121
|
+
activesupport (>= 5.0)
|
122
|
+
graphql (1.13.8)
|
123
|
+
graphql-client (0.17.0)
|
110
124
|
activesupport (>= 3.0)
|
111
|
-
graphql (~> 1.
|
125
|
+
graphql (~> 1.10)
|
112
126
|
hashdiff (1.0.1)
|
113
|
-
hashie (
|
114
|
-
i18n (1.
|
127
|
+
hashie (5.0.0)
|
128
|
+
i18n (1.9.1)
|
115
129
|
concurrent-ruby (~> 1.0)
|
116
|
-
jwt (2.
|
117
|
-
loofah (2.
|
130
|
+
jwt (2.3.0)
|
131
|
+
loofah (2.13.0)
|
118
132
|
crass (~> 1.0.2)
|
119
133
|
nokogiri (>= 1.5.9)
|
120
134
|
mail (2.7.1)
|
121
135
|
mini_mime (>= 0.1.1)
|
122
|
-
marcel (1.0.
|
136
|
+
marcel (1.0.2)
|
123
137
|
method_source (0.9.2)
|
124
|
-
mini_mime (1.
|
125
|
-
mini_portile2 (2.
|
138
|
+
mini_mime (1.1.2)
|
139
|
+
mini_portile2 (2.6.1)
|
126
140
|
minitest (5.14.4)
|
127
141
|
mocha (1.11.2)
|
128
142
|
multi_json (1.15.0)
|
129
143
|
multi_xml (0.6.0)
|
130
144
|
multipart-post (2.1.1)
|
131
|
-
nio4r (2.5.
|
132
|
-
nokogiri (1.
|
133
|
-
mini_portile2 (~> 2.
|
145
|
+
nio4r (2.5.8)
|
146
|
+
nokogiri (1.12.5)
|
147
|
+
mini_portile2 (~> 2.6.1)
|
134
148
|
racc (~> 1.4)
|
135
149
|
oauth2 (1.4.7)
|
136
150
|
faraday (>= 0.8, < 2.0)
|
@@ -142,7 +156,7 @@ GEM
|
|
142
156
|
hashie (>= 3.4.6)
|
143
157
|
rack (>= 1.6.2, < 3)
|
144
158
|
rack-protection
|
145
|
-
omniauth-oauth2 (1.7.
|
159
|
+
omniauth-oauth2 (1.7.2)
|
146
160
|
oauth2 (~> 1.4)
|
147
161
|
omniauth (>= 1.9, < 3)
|
148
162
|
omniauth-rails_csrf_protection (1.0.0)
|
@@ -163,26 +177,26 @@ GEM
|
|
163
177
|
binding_of_caller (>= 0.7)
|
164
178
|
pry (>= 0.9.11)
|
165
179
|
public_suffix (4.0.6)
|
166
|
-
racc (1.
|
180
|
+
racc (1.6.0)
|
167
181
|
rack (2.2.3)
|
168
182
|
rack-protection (2.1.0)
|
169
183
|
rack
|
170
184
|
rack-test (1.1.0)
|
171
185
|
rack (>= 1.0, < 3)
|
172
|
-
rails (6.1.
|
173
|
-
actioncable (= 6.1.
|
174
|
-
actionmailbox (= 6.1.
|
175
|
-
actionmailer (= 6.1.
|
176
|
-
actionpack (= 6.1.
|
177
|
-
actiontext (= 6.1.
|
178
|
-
actionview (= 6.1.
|
179
|
-
activejob (= 6.1.
|
180
|
-
activemodel (= 6.1.
|
181
|
-
activerecord (= 6.1.
|
182
|
-
activestorage (= 6.1.
|
183
|
-
activesupport (= 6.1.
|
186
|
+
rails (6.1.4.4)
|
187
|
+
actioncable (= 6.1.4.4)
|
188
|
+
actionmailbox (= 6.1.4.4)
|
189
|
+
actionmailer (= 6.1.4.4)
|
190
|
+
actionpack (= 6.1.4.4)
|
191
|
+
actiontext (= 6.1.4.4)
|
192
|
+
actionview (= 6.1.4.4)
|
193
|
+
activejob (= 6.1.4.4)
|
194
|
+
activemodel (= 6.1.4.4)
|
195
|
+
activerecord (= 6.1.4.4)
|
196
|
+
activestorage (= 6.1.4.4)
|
197
|
+
activesupport (= 6.1.4.4)
|
184
198
|
bundler (>= 1.15.0)
|
185
|
-
railties (= 6.1.
|
199
|
+
railties (= 6.1.4.4)
|
186
200
|
sprockets-rails (>= 2.0.0)
|
187
201
|
rails-controller-testing (1.0.5)
|
188
202
|
actionpack (>= 5.0.1.rc1)
|
@@ -191,13 +205,13 @@ GEM
|
|
191
205
|
rails-dom-testing (2.0.3)
|
192
206
|
activesupport (>= 4.2.0)
|
193
207
|
nokogiri (>= 1.6)
|
194
|
-
rails-html-sanitizer (1.
|
208
|
+
rails-html-sanitizer (1.4.2)
|
195
209
|
loofah (~> 2.3)
|
196
|
-
railties (6.1.
|
197
|
-
actionpack (= 6.1.
|
198
|
-
activesupport (= 6.1.
|
210
|
+
railties (6.1.4.4)
|
211
|
+
actionpack (= 6.1.4.4)
|
212
|
+
activesupport (= 6.1.4.4)
|
199
213
|
method_source
|
200
|
-
rake (>= 0.
|
214
|
+
rake (>= 0.13)
|
201
215
|
thor (~> 1.0)
|
202
216
|
rainbow (3.0.0)
|
203
217
|
rake (13.0.3)
|
@@ -205,7 +219,7 @@ GEM
|
|
205
219
|
redirect_safely (1.0.0)
|
206
220
|
activemodel
|
207
221
|
regexp_parser (2.0.0)
|
208
|
-
rexml (3.2.
|
222
|
+
rexml (3.2.5)
|
209
223
|
rubocop (1.5.2)
|
210
224
|
parallel (~> 1.10)
|
211
225
|
parser (>= 2.7.1.5)
|
@@ -220,20 +234,20 @@ GEM
|
|
220
234
|
rubocop-shopify (1.0.7)
|
221
235
|
rubocop (~> 1.4)
|
222
236
|
ruby-progressbar (1.10.1)
|
223
|
-
ruby2_keywords (0.0.
|
224
|
-
shopify_api (9.
|
225
|
-
activeresource (>= 4.1.0
|
237
|
+
ruby2_keywords (0.0.5)
|
238
|
+
shopify_api (9.5.1)
|
239
|
+
activeresource (>= 4.1.0)
|
226
240
|
graphql-client
|
227
241
|
rack
|
228
242
|
sprockets (4.0.2)
|
229
243
|
concurrent-ruby (~> 1.0)
|
230
244
|
rack (> 1, < 3)
|
231
|
-
sprockets-rails (3.
|
232
|
-
actionpack (>=
|
233
|
-
activesupport (>=
|
245
|
+
sprockets-rails (3.4.2)
|
246
|
+
actionpack (>= 5.2)
|
247
|
+
activesupport (>= 5.2)
|
234
248
|
sprockets (>= 3.0.0)
|
235
249
|
sqlite3 (1.4.2)
|
236
|
-
thor (1.1
|
250
|
+
thor (1.2.1)
|
237
251
|
tzinfo (2.0.4)
|
238
252
|
concurrent-ruby (~> 1.0)
|
239
253
|
unicode-display_width (1.7.0)
|
@@ -241,10 +255,10 @@ GEM
|
|
241
255
|
addressable (>= 2.3.6)
|
242
256
|
crack (>= 0.3.2)
|
243
257
|
hashdiff (>= 0.4.0, < 2.0.0)
|
244
|
-
websocket-driver (0.7.
|
258
|
+
websocket-driver (0.7.5)
|
245
259
|
websocket-extensions (>= 0.1.0)
|
246
260
|
websocket-extensions (0.1.5)
|
247
|
-
zeitwerk (2.4
|
261
|
+
zeitwerk (2.5.4)
|
248
262
|
|
249
263
|
PLATFORMS
|
250
264
|
ruby
|
@@ -265,4 +279,4 @@ DEPENDENCIES
|
|
265
279
|
webmock
|
266
280
|
|
267
281
|
BUNDLED WITH
|
268
|
-
2.
|
282
|
+
2.2.29
|
data/README.md
CHANGED
@@ -17,6 +17,7 @@ This gem builds Rails applications that can be embedded in the Shopify Admin.
|
|
17
17
|
[Contributing](/CONTRIBUTING.md) |
|
18
18
|
[License](/LICENSE)
|
19
19
|
|
20
|
+
|
20
21
|
## Introduction
|
21
22
|
|
22
23
|
This gem includes a Rails engine, generators, modules, and mixins that help create Rails applications that work with Shopify APIs. The [Shopify App Rails engine](/docs/shopify_app/engine.md) provides all the code required to implement OAuth with Shopify. The [default Shopify App generator](/docs/shopify_app/generators.md#-environment-rails-generate-shopify_app) builds an app that can be embedded in the Shopify Admin and secures it with [session tokens](https://shopify.dev/concepts/apps/building-embedded-apps-using-session-tokens).
|