注意
カスタマーのSSOの方法だと思って設定していたが、最終的に管理者用のSSOであることが判明した。
カスタマーのSSOをShopifyで簡単に実現する方法はありそうだが、見つかったものはShopify Plusプラン($2500/月)の契約が必要なものばかりだった。
アプリの連携ではなく、パスワードレスログインで対応することにする(別途ブログを作成)
はじめに
以下のAuth0マーケットプレイスのShopify統合アプリを利用します。
https://marketplace.auth0.com/integrations/shopify-social-connection
Shopify IDを活用してAuth0のログインフローに統合することで、Shopifyに管理されるIDを使用して、アプリやウェブサイトにログインできるようになります。
Shopifyのソーシャル接続を利用すると、ショップオーナーや管理者が自分のShopifyプロファイルを使ってあなたのアプリケーションにログインできるようになります。
デフォルトでは、Auth0はユーザーがログインするたびにユーザープロファイルデータを自動的に同期し、接続元で行われた変更がAuth0に自動的に反映されるようにしています。オプションで、ユーザープロファイルデータの同期を無効にすることもでき、アプリケーションからプロファイル属性を更新することが可能になります。
Shopifyのソーシャル接続は、1つのオンラインストアにのみ関連付けることができます。
準備
- Shopify partner programに登録しておきます。
手順
Shopifyにアプリをセットアップする
Shopifyのパブリックアプリに関するドキュメントに従い、Shopifyにアプリをセットアップします。このプロセス中に、Shopifyがアプリケーション用のAPIキーとAPIシークレットキーを生成します。これらの情報を控えておいてください。
アプリをセットアップする際、次の設定を使用してください:
フィールド | 提供する値 |
---|---|
アプリURL | https://YOUR_DOMAIN |
ホワイトリストに登録されたリダイレクションURL | https://YOUR_DOMAIN/login/callback |
Auth0のドメイン名を見つける
もしAuth0のドメイン名が上記に表示されておらず、カスタムドメイン機能を使用していない場合、ドメイン名はテナント名と地域のサブドメイン(テナントが米国リージョンにあり、2020年6月以前に作成された場合を除く)に「auth0.com」を加えたものです。例えば、テナント名が「exampleco-enterprises」であれば、Auth0のドメイン名は「exampleco-enterprises.us.auth0.com」となり、リダイレクトURLは「https://exampleco-enterprises.us.auth0.com/login/callback」になります。(テナントが米国にあり、2020年6月以前に作成された場合、ドメイン名は「https://exampleco-enterprises.auth0.com」となります。)
カスタムドメインを使用している場合、リダイレクトURIは次の形式になります: https://<YOUR CUSTOM DOMAIN>/login/callback
。