Shopify アプリに関する話題はこちら
Shopify App を作成しています。
サーバー側で Access Token を取得していますが、access mode (online mode or offline mode) によって取得できる情報とトークンの利用可能時間が異なるかと思います。
https://shopify.dev/concepts/about-apis/authentication#api-access-modes
offline mode はアクセストークンの期限なしですが、ユーザー固有の情報 (email など) は取得できない。
online mode はアクセストークンは約1日で期限切れになるが、ユーザー固有の情報が取得できる。
offline mode でアクセストークンを取得しつつ、online mode でユーザー固有の情報を取得できるのを確認していますが、その場合それぞれの認証が必要なので、2度認証が必要となっています。
質問は、
- そもそも online mode, offline mode の認識は間違っていないか
- 上記のケースの場合2度必要となっている認証を1度にする方法はあるか
になります。よろしくお願いします。
> offline mode はアクセストークンの期限なしですが、ユーザー固有の情報 (email など) は取得できない。
> online mode はアクセストークンは約1日で期限切れになるが、ユーザー固有の情報が取得できる。
こちらはどこに記載のあるものでしょうか? 認可で何も指定しない場合(デフォルト)はofflineで、上記のページにあるようにassociated_user_scopeを指定した場合はonlineになり、それはアプリ側に任されているかと思います。
> offline mode はアクセストークンの期限なしですが、ユーザー固有の情報 (email など) は取得できない。
> online mode はアクセストークンは約1日で期限切れになるが、ユーザー固有の情報が取得できる。
> こちらはどこに記載のあるものでしょうか?
両方とも Access Tkoken API のレスポンス内容から推察になります。
指定しない場合(デフォルト)は以下のようなレスポンス
{ access_token: '459e7c8eaa40facd06822a411d5xxxxx', scope: 'read_products,read_orders' }
grant_options[]=per-user を指定した場合
{ access_token: 'd45969826b9e79432cbdd79bfdeaxxxx', scope: 'read_products', expires_in: 86398, associated_user_scope: 'read_products', session: '2fad3bb49a547ff0a118664627ce4b9911984b99e30df27827e5689856d5xxxx', associated_user: { id: 41524035710, first_name: 'Saito', last_name: 'Masahiro', email: 'test@test.com', account_owner: true, locale: 'ja-JP', collaborator: false, email_verified: true } }
のようになっていまして、`expires_in` が Token の利用可能期間だと推察していました。
が、Okamura さんがコメントされている associated_user_scope は知らなかったので、確認したいと思います。
> online mode はアクセストークンは約1日で期限切れになるが、ユーザー固有の情報が取得できる。
こちらに記載ありました。
https://shopify.dev/tutorials/authenticate-with-oauth#step-3-confirm-installation
expires_in: The number of seconds until the access token expires.
とあるので、online mode で取得したトークンは期限切れになりそうですね。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024