App Checkを使用すると、自己ホスト型バックエンドなど、アプリのFirebase以外のリソースを保護できます。そのためには、次の両方を行う必要があります。
- このページで説明されているように、アプリクライアントを変更して、各リクエストとともにアプリチェックトークンをバックエンドに送信します。
- カスタムバックエンドからのアプリチェックトークンの確認で説明されているように、リクエストごとに有効なアプリチェックトークンを要求するようにバックエンドを変更します。
あなたが始める前に
デフォルトのプロバイダーを使用して、アプリにアプリチェックを追加します。
バックエンドリクエストでアプリチェックトークンを送信する
バックエンドリクエストに有効な有効期限の切れていないアプリチェックトークンが含まれていることを確認するには、各リクエストの前にgetToken()
を呼び出します。 App Checkライブラリは、必要に応じてトークンを更新します。
有効なトークンを取得したら、リクエストと一緒にバックエンドに送信します。これを実現する方法の詳細はあなた次第ですが、アプリチェックトークンをURLの一部として、クエリパラメータを含めて送信しないでください。これにより、偶発的なリークや傍受に対して脆弱になります。推奨されるアプローチは、カスタム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.
}
}