App Check で Firebase 以外のリソースを保護する

App Check では、アプリで使用する Firebase 以外のリソース(セルフホスト バックエンドなど)も保護できます。そのためには、次の両方を行う必要があります。

  • このページで説明するように、各リクエストとともに App Check トークンをバックエンドに送信するようにアプリ クライアントを変更します。
  • カスタム バックエンドからの App Check トークンの検証の説明のように、リクエストごとに有効な App Check トークンを要求するようにバックエンドを変更します。

始める前に

デフォルトのプロバイダを使用して、アプリに App Check を追加します。

バックエンド リクエストと一緒に App Check トークンを送信する

期限切れでない、有効な App Check トークンをバックエンド リクエストに含めるには、AppCheck::GetAppCheckToken() の呼び出しで各リクエストを開始します。App Check ライブラリが、必要に応じてトークンを更新します。

有効なトークンを取得したら、リクエストとともにバックエンドに送信します。具体的な方法は自由に決めることができますが、クエリ パラメータや URL の一部として App Check トークンを送信しないでください。漏えいや傍受のリスクが高まります。カスタム HTTP ヘッダーでトークンを送信することをおすすめします。

例:

void CallApiExample() {
    firebase_app_check::AppCheck* app_check = firebase::app_check::AppCheck::GetInstance();
    Future<std::string> app_check_future = app_check->GetAppCheckToken(false);
    app_check_future.OnCompletion([&](const Future<std::string>& future_token) {
        if (future_token.result()) {
            // Got a valid App Check token. Include it in your own http calls.
        }
    }
}