Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Uygulama Kontrolü ile Firebase dışı kaynakları koruyun

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Uygulama Kontrolü ile uygulamanızın kendi kendine barındırılan arka uçları gibi Firebase dışı kaynaklarını koruyabilirsiniz. Bunu yapmak için aşağıdakilerden her ikisini de yapmanız gerekir:

  • Bu sayfada açıklandığı gibi, uygulama istemcinizi arka ucunuza her istekle birlikte bir Uygulama Kontrolü belirteci gönderecek şekilde değiştirin.
  • Özel bir arka uçtan Uygulama Kontrolü belirteçlerini doğrulama bölümünde açıklandığı gibi, arka ucunuzu her istekte geçerli bir Uygulama Kontrolü belirteci gerektirecek şekilde değiştirin.

Sen başlamadan önce

Varsayılan sağlayıcıları kullanarak Uygulama Kontrolü'nü uygulamanıza ekleyin.

Arka uç istekleriyle Uygulama Kontrolü belirteçleri gönder

Arka uç isteklerinizin geçerli, süresi dolmamış bir Uygulama Kontrolü belirteci içerdiğinden emin olmak için, her isteğin önüne getToken() çağrısıyla gelin. Uygulama Kontrolü kitaplığı, gerekirse belirteci yenileyecektir.

Geçerli bir jetonunuz olduğunda, bunu istekle birlikte arka ucunuza gönderin. Bunu nasıl başaracağınıza ilişkin ayrıntılar size bağlıdır, ancak Uygulama Kontrolü belirteçlerini, sorgu parametreleri de dahil olmak üzere URL'lerin bir parçası olarak göndermeyin , çünkü bu, onları yanlışlıkla sızıntı ve müdahaleye karşı savunmasız hale getirir. Önerilen yaklaşım, belirteci özel bir HTTP başlığında göndermektir.

Örneğin:

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