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.
}
}
}