メインコンテンツまでスキップ

Apple を使用してソーシャルログインを設定する

Apple ソーシャルサインイン用の公式 Logto コネクター。

ヒント:

このガイドでは、Logto コネクターに関する基本的な知識を持っていることを前提としています。もし持っていない場合は、コネクターの設定 ガイドを参照して始めてください。

はじめに

コネクターの概念がわからない場合や、このコネクターをサインイン体験に追加する方法がわからない場合は、Logto チュートリアルを参照してください。

ℹ️ 注意

アプリに他のソーシャルサインイン方法がある場合、AppStore では Apple サインインが必要です。 Android デバイスで Apple サインインを提供することは、Android アプリも提供している場合に便利です。

続行する前に Apple Developer Program に登録する必要があります。

アプリで Sign in with Apple を有効にする

⚠️ 注意

Web アプリでのみ Sign in with Apple を実装したい場合でも、AppStore エコシステムを取り入れた既存のアプリ(つまり、有効な App ID を持つ)が必要です。

Xcode -> プロジェクト設定 -> Signing & Capabilities 経由で行うか、Certificates, Identifiers & Profiles を訪問してください。

Enable Sign in with Apple

詳細については、Apple 公式ドキュメント の「Enable an App ID」セクションを参照してください。

識別子を作成する

  1. Certificates, Identifiers & Profiles を訪問し、「Identifier」の横にある「+」ボタンをクリックします。
  2. 「Register a new identifier」ページで「Services IDs」を選択し、「Continue」をクリックします。
  3. 「Description」と「Identifier」を入力します(例:Logto Testio.logto.test)、次に「Continue」をクリックします。
  4. 情報を再確認し、「Register」をクリックします。

識別子に対して Sign in with Apple を有効にする

作成した識別子をクリックします。詳細ページで「Sign in with Apple」にチェックを入れ、「Configure」をクリックします。

Enable Sign in with Apple

開いたモーダルで、Sign in with Apple を有効にした App ID を選択します。

プロトコルとポートを除いた Logto インスタンスのドメインを入力します。例:your.logto.domain。次に「Return URL」(つまり、リダイレクト URI)を入力します。これは /callback/${connector_id} を含む Logto URL です。例:https://your.logto.domain/callback/apple-universal。Apple コネクターを管理コンソールで作成した後にランダムに生成された connector_id を取得できます。

domain-and-url

「Next」をクリックし、「Done」でモーダルを閉じます。右上の「Continue」をクリックし、「Save」をクリックして設定を保存します。

⚠️ 注意

Apple は HTTP プロトコルと localhost ドメインを持つ Return URL を許可していません。

ローカルでテストしたい場合は、/etc/hosts ファイルを編集して localhost をカスタムドメインにマッピングし、ローカル HTTPS 環境を設定する必要があります。mkcert はローカル HTTPS の設定を支援します。

スコープを設定する

Apple からユーザーのメールを取得するには、スコープに email を含めるように設定する必要があります。メールと名前の両方を取得するには、スコープとして name email を使用できます。詳細については、Apple 公式ドキュメント を参照してください。

ℹ️ 注意

ユーザーはアプリからメールアドレスを隠すことを選択する場合があります。この場合、実際のメールアドレスを取得することはできません。代わりに [email protected] のようなメールアドレスが返されます。

スコープ設定の落とし穴

Apple でサインインした後にユーザーのメールアドレスを要求するようにアプリを設定した場合、Apple ID を使用して再度サインインしても、既存のユーザーのメールアドレスを取得することはできません。これに対処するには、ユーザーに Apple ID アカウント管理ページ を訪問し、「Sign in with Apple」セクションからアプリケーションを削除するよう指示する必要があります。これは、アプリの詳細ページで「Apple サインインの使用を停止」を選択することで行えます。

例えば、アプリがユーザーのメールと名前の両方を要求する場合(email name スコープ)、新しいユーザーが初めてサインインする際に表示される同意画面は次のようになります:

Sign in with Apple consent screen

開発者の議論は こちら を参照してください。

Apple コネクターをテストする

これで完了です。Apple コネクターは Web およびネイティブアプリの両方で利用可能になるはずです。サインイン体験で ソーシャルコネクターを有効にする のを忘れないでください。