Web uygulamalarında Uygulama Kontrolü'nü özel bir sağlayıcıyla kullanmaya başlayın

Bu sayfada, özel App Check sağlayıcınızı kullanarak bir web uygulamasında App Check'ü nasıl etkinleştireceğiniz gösterilmektedir. App Check seçeneğini etkinleştirdiğinizde, projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlarsınız.

App Check'ü yerleşik sağlayıcılardan biriyle kullanmak istiyorsanız ReCAPTCHA Enterprise ile App Check belgelerine bakın.

Başlamadan önce

1. App Check kitaplığını uygulamanıza ekleme

Henüz yapmadıysanız Firebase'i web uygulamanıza ekleyin. App Check kitaplığını içe aktardığınızdan emin olun.

2. App Check sağlayıcı nesnesini oluşturma

Özel sağlayıcınız için bir App Check sağlayıcı nesnesi oluşturun. Bu nesnenin, kimlik doğrulama kanıtı olarak özel App Check sağlayıcınızın ihtiyaç duyduğu tüm bilgileri toplayan ve App Check jetonu karşılığında jeton edinme hizmetinize gönderen bir getToken() yöntemi olmalıdır. App Check SDK'sı jeton önbelleğe alma işlemini gerçekleştirir. Bu nedenle, getToken() uygulamanızda her zaman yeni bir jeton alın.

Web

import { CustomProvider } from "firebase/app-check";

const appCheckCustomProvider = new CustomProvider({
  getToken: () => {
    return new Promise((resolve, _reject) => {
      // TODO: Logic to exchange proof of authenticity for an App Check token and
      // expiration time.

      // ...

      const appCheckToken = {
        token: tokenFromServer,
        expireTimeMillis: expirationFromServer * 1000
      };

      resolve(appCheckToken);
    });
  }
});

Web

const appCheckCustomProvider = {
  getToken: () => {
    return new Promise((resolve, _reject) => {
      // TODO: Logic to exchange proof of authenticity for an App Check token and
      // expiration time.

      // ...

      const appCheckToken = {
        token: tokenFromServer,
        expireTimeMillis: expirationFromServer * 1000
      };

      resolve(appCheckToken);
    });
  }
};

3. App Check başlatılıyor

Firebase hizmetlerine erişmeden önce uygulamanıza aşağıdaki ilk kullanıma hazırlama kodunu ekleyin:

Web

import { initializeApp } from "firebase/app";
import { initializeAppCheck } from "firebase/app-check";

const app = initializeApp({
  // Your firebase configuration object
});

const appCheck = initializeAppCheck(app, {
  provider: appCheckCustomProvider,

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  isTokenAutoRefreshEnabled: true    
});

Web

firebase.initializeApp({
  // Your firebase configuration object
});

const appCheck = firebase.appCheck();
appCheck.activate(
  appCheckCustomProvider,

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  true);

Sonraki adımlar

App Check kitaplığı uygulamanıza yüklendikten sonra dağıtın.

Güncellenen istemci uygulaması, Firebase'e gönderdiği her istekle birlikte App Check jetonları göndermeye başlar. Ancak Firebase konsolunun App Check bölümünde yaptırımı etkinleştirene kadar Firebase ürünleri, jetonların geçerli olmasını gerektirmez.

Metrikleri izleme ve yaptırımı etkinleştirme

Ancak yaptırımı etkinleştirmeden önce, bu işlemin mevcut meşru kullanıcılarınızın çalışmasını engellemeyeceğinden emin olmanız gerekir. Diğer yandan, uygulama kaynaklarınızın şüpheli bir şekilde kullanıldığını görüyorsanız yaptırımı daha erken etkinleştirmek isteyebilirsiniz.

Bu kararı vermenize yardımcı olması için kullandığınız hizmetlerle ilgili App Check metriklerini inceleyebilirsiniz:

App Check yaptırımını etkinleştirme

App Check'ün kullanıcılarınızı nasıl etkileyeceğini anladıktan ve devam etmeye hazır olduğunuzda App Check yaptırımını etkinleştirebilirsiniz:

  • Realtime Database, Cloud Firestore, Cloud Storage, Authentication (beta) ve Vertex AI in Firebase için App Check yaptırımını etkinleştirin.
  • Cloud Functions için App Check yaptırımını etkinleştirin.

Hata ayıklama ortamlarında App Check kullanma

Uygulamanızı App Check'e kaydettikten sonra uygulamanızı App Check'ün normalde geçerli olarak sınıflandırmayacağı bir ortamda (ör. geliştirme sırasında yerel olarak veya sürekli entegrasyon (CI) ortamından) çalıştırmak istiyorsanız gerçek bir doğrulama sağlayıcısı yerine App Check hata ayıklama sağlayıcısını kullanan uygulamanızın hata ayıklama derlemesini oluşturabilirsiniz.

App Check'yi web uygulamalarında hata ayıklama sağlayıcıyla kullanma başlıklı makaleyi inceleyin.