FROM CACHE - jp_header
解決済

公開後の Shopify アプリの API の scope 権限の変更について

daido1976
Shopify Partner
6 1 5

株式会社フィードフォース の大道と申します。

 

公開後の Shopify アプリの API の scope 権限の変更時に Shopify 側での再レビューなど必要になるかご存知の方はいらっしゃいますでしょうか?

また、scope 削除のみの場合と scope 追加の場合とで、レビューの要否が変わるかもあわせて教えていただけると幸いです。

1 件の受理された解決策

junichiokamura
Community Manager
1200 280 506

成功

即座に再レビューにはならないと思いますが(つまり一旦非公開などにはならない)、定期的にチェックはされているので問題があれば何か指摘が入る可能性はあります。

注意点として、スコープを変えた場合は、再度OAuthの認証フローをマーチャントに行rってもらう必要があります。

Senior Partner Solutions Engineer

元の投稿で解決策を見る

6件の返信6

junichiokamura
Community Manager
1200 280 506

成功

即座に再レビューにはならないと思いますが(つまり一旦非公開などにはならない)、定期的にチェックはされているので問題があれば何か指摘が入る可能性はあります。

注意点として、スコープを変えた場合は、再度OAuthの認証フローをマーチャントに行rってもらう必要があります。

Senior Partner Solutions Engineer
daido1976
Shopify Partner
6 1 5

理解しました!ご回答ありがとうございます!

Ruzen2
観光客
11 0 2

横から失礼いたします。

この、マーチャントにOAuthフローをやり直してもらう、の部分ですが、

通常、アプリをインストールしたとき、管理画面で"自動で"OAuthの確認画面が表示され、承認ボタンをクリックすることでアプリの画面へ遷移します。

が、インストール後にscopeを変更したあと、アプリ管理からアプリの画面を表示しようとすると、「アクセスが拒否されました」の画面になります。

 

で、直接、ブラウザでOAuthのURL(〜〜.myshopify.com/admin/oauth/authorize?client_id=〜〜〜のやつです)を入力して表示すると、ちゃんとOAuthの確認画面が表示され、承認すると、次からは正しくアプリの画面が表示され、拡張した権限の機能も使えます。

 

で、質問なのですが、このようにインストール済みのアプリのscopeを変えた場合、このように"手動で"OAuthのURLへアクセスする必要があるものなんでしょうか。
作りが間違っていて、本来は"自動で"再確認の画面へ遷移してくれるものなんでしょうか。

 

junichiokamura
Community Manager
1200 280 506

> アプリ管理からアプリの画面を表示しようとすると、「アクセスが拒否されました」の画面になります。 

これはマーチャントのアプリ管理メニューということでよろしいですか?(パートナーのアプリ管理画面ではなく)

> で、質問なのですが、このようにインストール済みのアプリのscopeを変えた場合、このように"手動で"OAuthのURLへアクセスする必要があるものなんでしょうか。

はい、URLを貼り付けて遷移する操作をマーチャントに強いることは通常しないと思いますが、アプリ側で自身のバージョン管理をして、スコープが変わるアップグレードが発生した場合は、アプリのトップにアクセスするとこのURLに遷移させて再承認させるのが一般的かと思います。

Senior Partner Solutions Engineer
Ruzen2
観光客
11 0 2

>これはマーチャントのアプリ管理メニューということでよろしいですか?

はい。そのとおりです。

 

>URLを貼り付けて遷移する操作をマーチャントに強いることは通常しないと思いますが、アプリ側で自身のバージョン管理をして、スコープが変わるアップグレードが発生した場合は、アプリのトップにアクセスするとこのURLに遷移させて再承認させるのが一般的かと思います。

 

ありがとうございます。いきなりscopeを変えたOAuthのURLで認証(iframe内で表示)しようとしたから拒否された、ということでしょうか。

正しくは、

・変更前のscopeのOAuth URLで一旦、アプリを表示する。

・アプリから、改めて、新しいscopeをに変更したOAuthのURLに(window.topから)リダイレクトする。すると、承認画面が表示される。

という手順になるということで認識あってますでしょうか。

 

junichiokamura
Community Manager
1200 280 506

ありがとうございます。いきなりscopeを変えたOAuthのURLで認証(iframe内で表示)しようとしたから拒否された、ということでしょうか。

というよりかは、多分そのアプリが表示時にAPIを呼んでいてそのスコープが足りなかったかではないでしょうか? どういうエラーの出方なのか不明ですが、内部でAPIが失敗してアプリ画面に到達できないからそのようなメッセージになっていることも考えられます。

 

> 変更前のscopeのOAuth URLで一旦、アプリを表示する。

> アプリから、改めて、新しいscopeをに変更したOAuthのURLに(window.topから)リダイレクトする。すると、承認画面が表示される。

多分、初期インストールと同じでアクセスした瞬間に新しいスコープのOAuthに飛ばせば解決すると思います。

Senior Partner Solutions Engineer