Catch up on everthing we announced at this year's Firebase Summit. Learn more

AppleプラットフォームのデバッグプロバイダーでAppCheckを使用する

アプリをAppCheckに登録した後、開発中のシミュレーターなど、App Checkが通常は有効と分類されない環境で、または継続的インテグレーション(CI)環境からアプリを実行する場合は、次のことができます。実際の認証プロバイダーの代わりにAppCheckデバッグプロバイダーを使用するアプリのデバッグビルドを作成します。

シミュレーターでデバッグプロバイダーを使用する

シミュレーターでアプリをインタラクティブに実行している間(開発中など)にデバッグプロバイダーを使用するには、次の手順を実行します。

  1. デバッグビルドで、Firebaseバックエンドサービスを使用する前に、AppCheckデバッグプロバイダーファクトリを作成して設定します。

    迅速

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. Xcodeプロジェクト(v11.0以降)でデバッグログを有効にします。

    1. オープンプロダクト>スキーム>編集スキーム
    2. 左側のメニューから[ファイル名を指定して実行]選択し、[引数]タブを選択します。
    3. 起動部に渡される引数では、addは-FIRDebugEnabled
  3. アプリを起動します。 SDKがバックエンドにリクエストを送信しようとすると、ローカルデバッグトークンがログに記録されます。例えば:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. プロジェクト設定>アプリケーションのチェックFirebaseコンソールのセクション、あなたのアプリのオーバーフローメニューからデバッグトークンを管理]を選択します。次に、前の手順でログインしたデバッグトークンを登録します。

    [デバッグトークンの管理]メニュー項目のスクリーンショット

トークンを登録すると、Firebaseバックエンドサービスはトークンを有効なものとして受け入れます。

このトークンは、有効なデバイスがなくてもFirebaseリソースへのアクセスを許可するため、プライベートに保つことが重要です。パブリックリポジトリにコミットしないでください。登録されたトークンが侵害された場合は、Firebaseコンソールですぐに取り消してください。

CI環境でデバッグプロバイダーを使用する

継続的インテグレーション(CI)環境でデバッグプロバイダーを使用するには、次の手順を実行します。

  1. プロジェクト設定>アプリケーションのチェックFirebaseコンソールのセクション、あなたのアプリのオーバーフローメニューからデバッグトークンを管理]を選択します。次に、新しいデバッグトークンを作成します。次のステップでトークンが必要になります。

    このトークンは、有効なデバイスがなくてもFirebaseリソースへのアクセスを許可するため、プライベートに保つことが重要です。パブリックリポジトリにコミットしないでください。登録されたトークンが侵害された場合は、Firebaseコンソールですぐに取り消してください。

    [デバッグトークンの管理]メニュー項目のスクリーンショット

  2. あなたは自分のCIシステムのセキュアキーストアに作成されたトークンのデバッグを追加します(例えば、GitHubのアクション暗号化された秘密やトラビスCIの暗号化された変数)。

  3. 必要に応じて、CIシステムを構成して、デバッグトークンをCI環境内で環境変数として使用できるようにします。以下のような変数に何か名前APP_CHECK_DEBUG_TOKEN_FROM_CI

  4. Xcodeで、名前を使用して試験スキームに環境変数を追加FIRAAppCheckDebugTokenとのようなもの$(APP_CHECK_DEBUG_TOKEN)の値として。

  5. デバッグトークンを環境変数として渡すようにCIテストスクリプトを構成します。例えば:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. デバッグビルドで、Firebaseバックエンドサービスを使用する前に、AppCheckデバッグプロバイダーファクトリを作成して設定します。

    迅速

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

アプリがCI環境で実行されると、Firebaseバックエンドサービスは送信したトークンを有効なものとして受け入れます。