Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

iOSのデバッグプロバイダーでアプリチェックを使用する

アプリを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バックエンドサービスは送信したトークンを有効なものとして受け入れます。