[network_access] 登場リンク先ホストを宣言すれば、顧客がストア外へ移動する際の警告をスキップできる。通信先サーバーを宣言すれば、Shopify が不審な通信を見つけてアプリを守る材料になる。
shopify.app.toml に新しく [network_access] セクションが追加された。顧客がストアの外の URL へ移動しようとすると、Shopify は通常、警告を表示する。アプリ自身のサイトのような信頼できる行き先でも同様で、動線に摩擦が生じていた。
宣言した外部ホストへのリンクは警告がスキップされる。あわせて通信先サーバーを宣言すると、Shopify が不審なアクティビティを見つけてアプリを守るのに使われる。
| 項目 | allowed_navigation_hosts | allowed_sources |
|---|---|---|
| 何を書くか | ストアフロントからアプリがリンクする外部サイト(例 : 自社ドメイン) | アプリのコードが読み込む/リクエストを送るサーバー(例 : API、CDN) |
| 書式 | ホスト名 リンクに出てくる通りに正確に | HTTPS オリジン https:// 付き |
| 上限 | 20 件 | 20 件 |
| 対象画面 | ストアフロント | ストアフロント/チェックアウト/Shopify 管理画面(拡張機能・アプリホーム・アプリプロキシのページを含む) |
| 効果 | UX 外部遷移時の警告をスキップ | セキュリティ アプリ保護・悪意あるリクエストの監視 |
| ワイルドカード | 記載なし | 記載なし |
[network_access]
allowed_navigation_hosts = ["app.example.com"]
allowed_sources = ["https://api.app.example.com"]
app.example.com のようにホストを書く。リンクに出てくる表記と完全一致させる。
https://api.app.example.com のように HTTPS オリジンで書く。
アプリ自身のサイトなど、顧客をリンクで送る先を allowed_navigation_hosts に。
API や CDN など、コードが読み込む/リクエストを送る先を allowed_sources に。
shopify app deploy を実行し、新バージョンをリリース。
navigation はホスト(例 app.example.com)、sources は HTTPS オリジン(例 https://api.app.example.com)。混同しないようにレビュー観点に入れる。
外部ドメインが多いアプリは棚卸しと集約が必要。ワイルドカード指定の可否は記載なし。
ストアフロントだけでなく、チェックアウト・管理画面、さらに拡張機能/アプリホーム/アプリプロキシのページからの通信も対象。
TOML を書くだけでは不十分。shopify app deploy で新バージョンを作ってリリースするまでがセット。
未宣言の通信がブロックされる・将来必須化される等の記述はない。現時点は「強く推奨」。ただし sources は悪意あるリクエストの監視に使われるため、漏れがあると正規通信と不審な通信の区別材料が欠ける点を意識し、網羅的に列挙しておくのが無難。
allowed_navigation_hosts に宣言し、deploy + release。allowed_sources に列挙。[network_access] も更新」を追加し、shopify app deploy とセットで運用。shopify.app.toml の [network_access] に外部の行き先と通信先を書くだけで、