Multipass APIのIdentifier フィールドについて

Topic summary

課題:
WebアプリとShopifyのMultipass APIを使ったシングルサインオン実装において、ユーザーがWebアプリ側でメールアドレスを変更した場合の対応方法について質問されています。

具体的な問題:

  • Shopifyはメールアドレスをカスタマーの一意識別子として使用
  • メールアドレス変更後に再度Multipassログインすると、別カスタマーとして登録されてしまう

検討中の解決策:

  • Multipass APIのJSONに含まれる「identifier」フィールドに一意の値(例:UserId)を設定することで、メールアドレスが変わっても同一ユーザーとして認識させる方法
  • ただし、公式ドキュメントによると「同じメールアドレスで複数のShopifyアカウントは作成できない」との記載があり、identifierフィールドだけでは解決しない可能性

代替案の検討:
Admin APIを使ってカスタマー情報を更新する必要があるかどうかも質問されています。

現状:
複数のユーザーが同じ疑問を持っており、解決策を求めている状態で、まだ回答は得られていません。

Summarized with AI on October 29. AI used: claude-sonnet-4-5-20250929.

現在、私たちのWebアプリに登録したユーザーのメールアドレス、UserIdで、

Shopify Webチェックアウトにログイン(シングルサインオン)を実現するためMultipass APIの利用を検討しています。

そこでお聞きしたいことは、一度MultipassログインでShopifyに登録したユーザーに紐づいたアカウントのメールアドレスをWebアプリ側で変更した場合の対応方法についてです。

Shopifyではメールアドレスに応じてカスタマーが作られるため、別のメールアドレスで再度multipass APIでログインをすると、別カスタマーとして登録されてしまうかと思いますので、こちらの対応方法などをお聞きしたいです。

  • 対応方法を知りたい手順の流れ
  1. 別Webアプリにログイン

  2. 別Webアプリで、Storefront APIで商品追加などを行う

  3. multipass APIで、Shopify Webチェックアウトにログインしてリダイレクト

  4. Webアプリでメールアドレスを変更

  5. 再度、multipass APIで、Shopify Webチェックアウトにログインしてリダイレクト

=> 3. で作成されたカスタマーとは別のカスタマーとして登録される。

こちらの対応として、multipassログインのJSONに含められる「identifier」に、一意の値(例: UserId)を含めることで、別のメールアドレスでも同じユーザーとして扱われるのかと考えているのですが、「identifier」の機能としてはそういったことができる認識でよかったでしょうか?

https://shopify.dev/api/multipass

Shopify uses email addresses as unique identifiers for customers of a shop. When registering customers in Shopify, the merchantmustset the unique identifier in the “identifier” field in the following cases:> > - The site uses other identifiers (such as usernames)> - Two different users of the site might be registered with the same email address If the email address is always unique, setting the “identifier” field isn’t required. Only one Shopify account can use a specific email address. Registering a second customer with the same email address (even with a different “identifier”) will result in an error.

また別の対応方法、例えばWebアプリ側のメールアドレスの変更に応じて、Admin APIなどでカスタマーの情報更新を行うことが必要でしょうか?

2 Likes

わたしも同じの疑問もあります、who can help us