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

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。Admin Console で 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 アカウント管理ページ にアクセスし、「Apple でサインイン」セクションからアプリケーションを削除するよう指示する必要があります。これは、アプリの詳細ページで「Apple サインインの使用を停止」を選択することで行えます。

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

Apple でサインインの同意画面

開発者のディスカッションはこちらを参照してください。

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

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