App Check を使用すると、アプリで使用する Google 以外のカスタム バックエンド リソース(独自のセルフホスト バックエンドなど)を保護できます。そのためには、次の両方を行う必要があります。
- このページで説明するように、各リクエストとともに App Check トークンをバックエンドに送信するようにアプリ クライアントを変更します。
- カスタム バックエンドからの App Check トークンの検証の説明のように、リクエストごとに有効な App Check トークンを要求するようにバックエンドを変更します。
始める前に
デフォルトのプロバイダを使用して、アプリに 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.
}
}