查看 2022 年 Google I/O 大会上介绍的 Firebase 新动态。了解详情

Zacznij korzystać z App Check w aplikacjach Flutter

Na tej stronie pokazano, jak włączyć funkcję App Check w aplikacji Flutter, korzystając z domyślnych dostawców: SafetyNet na Androida, Device Check na platformach Apple i reCAPTCHA v3 w Internecie. Po włączeniu Kontroli aplikacji zapewniasz, że tylko Twoja aplikacja ma dostęp do zasobów Firebase projektu. Zobacz przegląd tej funkcji.

1. Skonfiguruj projekt Firebase

  1. Zainstaluj i zainicjuj FlutterFire , jeśli jeszcze tego nie zrobiłeś.

  2. Dla każdej platformy, dla której tworzysz, zarejestruj aplikację, aby korzystać z funkcji App Check u dostawców SafetyNet (Android), Device Check (Apple) i reCAPTCHA v3 (internet). Możesz to zrobić w sekcji Ustawienia projektu > Sprawdzanie aplikacji w konsoli Firebase.

    Zwykle musisz zarejestrować wszystkie aplikacje swojego projektu, ponieważ po włączeniu wymuszania dla produktu Firebase tylko zarejestrowane aplikacje będą miały dostęp do zasobów zaplecza produktu.

  3. Opcjonalnie : w ustawieniach rejestracji aplikacji ustaw niestandardowy czas wygaśnięcia (TTL) dla tokenów sprawdzania aplikacji wydanych przez dostawcę. Możesz ustawić TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę ​​wartość, pamiętaj o następujących kompromisach:

    • Bezpieczeństwo: Krótsze TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym przeciek lub przechwycony token może zostać nadużyty przez atakującego.
    • Wydajność: krótsze czasy TTL oznaczają, że Twoja aplikacja będzie częściej przeprowadzać atestację. Ponieważ proces zaświadczania aplikacji zwiększa opóźnienie żądań sieciowych za każdym razem, gdy jest wykonywany, krótki czas TTL może wpłynąć na wydajność aplikacji.
    • Limit i koszt: krótsze czasy oczekiwania i częste ponowna atestacja szybciej zmniejszają Twój limit, a w przypadku usług płatnych potencjalnie kosztują więcej. Zobacz Kontyngenty i limity .

    Domyślny czas TTL jest rozsądny dla większości aplikacji. Zwróć uwagę, że biblioteka App Check odświeża tokeny po około połowie czasu TTL.

2. Dodaj bibliotekę App Check do swojej aplikacji

  1. W katalogu głównym projektu Flutter uruchom następujące polecenie, aby zainstalować wtyczkę:

    flutter pub add firebase_app_check
    
  2. Po zakończeniu odbuduj aplikację Flutter:

    flutter run
    

3. Zainicjuj sprawdzanie aplikacji

Dodaj następujący kod inicjujący do swojej aplikacji, aby działała przed użyciem jakichkolwiek usług Firebase, takich jak Storage, ale po wywołaniu funkcji Firebase.initializeApp() ;

import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';

// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await FirebaseAppCheck.instance.activate(
    webRecaptchaSiteKey: 'recaptcha-v3-site-key',  // If you're building a web app.
  );
  runApp(App());
}

Następne kroki

Po zainstalowaniu biblioteki Sprawdzanie aplikacji w Twojej aplikacji zacznij rozpowszechniać zaktualizowaną aplikację wśród użytkowników.

Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny sprawdzania aplikacji wraz z każdym żądaniem wysyłanym do Firebase, ale produkty Firebase nie będą wymagać ważności tokenów, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.

Monitoruj metryki i włącz egzekwowanie

Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłóci to działania Twoich istniejących legalnych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz chcieć wcześniej włączyć wymuszanie.

Aby pomóc w podjęciu tej decyzji, możesz przyjrzeć się wskaźnikom Kontroli aplikacji dla usług, z których korzystasz:

Włącz wymuszanie sprawdzania aplikacji

Gdy zrozumiesz, w jaki sposób Kontrola aplikacji wpłynie na Twoich użytkowników i będziesz gotowy do kontynuowania, możesz włączyć wymuszanie kontroli aplikacji:

Użyj sprawdzania aplikacji w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji do sprawdzania aplikacji chcesz uruchomić aplikację w środowisku, którego Sprawdzanie aplikacji normalnie nie klasyfikuje jako prawidłowe, takim jak emulator podczas tworzenia lub ze środowiska ciągłej integracji (CI), możesz utwórz kompilację debugowania swojej aplikacji, która używa dostawcy debugowania sprawdzania aplikacji zamiast rzeczywistego dostawcy poświadczania.

Zobacz Używanie sprawdzania aplikacji z dostawcą debugowania w aplikacjach Flutter .