Flutter プロジェクトで App Check を使用してカスタム バックエンド リソースを保護する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
App Check を使用すると、アプリで使用する Google 以外のカスタム バックエンド リソース(独自のセルフホスト バックエンドなど)を保護できます。そのためには、次の両方を行う必要があります。
始める前に
デフォルトのプロバイダを使用して、アプリに App Check を追加します。
バックエンド リクエストと一緒に App Check トークンを送信する
期限切れでない、有効な App Check トークンをバックエンド リクエストに含めるには、getToken()
の呼び出しで各リクエストを開始します。App Check ライブラリが、必要に応じてトークンを更新します。
有効なトークンを取得したら、リクエストと一緒にバックエンドに送信します。具体的な方法は自由に決めることができますが、クエリ パラメータや URL の一部として App Check トークンを送信しないでください。漏えいや傍受のリスクが高まります。カスタム HTTP ヘッダーでトークンを送信することをおすすめします。
次に例を示します。
void callApiExample() async {
final appCheckToken = await FirebaseAppCheck.instance.getToken();
if (appCheckToken != null) {
final response = await http.get(
Uri.parse("https://yourbackend.example.com/yourExampleEndpoint"),
headers: {"X-Firebase-AppCheck": appCheckToken},
);
} else {
// Error: couldn't get an App Check token.
}
}
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-12 UTC。
[null,null,["最終更新日 2025-08-12 UTC。"],[],[],null,["\u003cbr /\u003e\n\nYou can use App Check to protect non-Google custom backend resources for\nyour app, like your own self-hosted backend. To do so, you'll need to do both of\nthe following:\n\n- Modify your app client to send an App Check token along with each request to your backend, as described on this page.\n- Modify your backend to require a valid App Check token with every request, as described in [Verify App Check tokens from a custom backend](/docs/app-check/custom-resource-backend).\n\nBefore you begin\n\nAdd App Check to your app, using the [default providers](/docs/app-check/flutter/default-providers).\n\nSend App Check tokens with backend requests\n\nTo ensure your backend requests include a valid, unexpired, App Check token,\nprecede each request with a call to `getToken()`. The App Check library\nwill refresh the token if necessary.\n\nOnce you have a valid token, send it along with the request to your backend. The\nspecifics of how you accomplish this are up to you, but *don't send\nApp Check tokens as part of URLs*, including in query parameters, as this\nmakes them vulnerable to accidental leakage and interception. The recommended\napproach is to send the token in a custom HTTP header.\n\nFor example: \n\n void callApiExample() async {\n final appCheckToken = await FirebaseAppCheck.instance.getToken();\n if (appCheckToken != null) {\n final response = await http.get(\n Uri.parse(\"https://yourbackend.example.com/yourExampleEndpoint\"),\n headers: {\"X-Firebase-AppCheck\": appCheckToken},\n );\n } else {\n // Error: couldn't get an App Check token.\n }\n }"]]