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 hizmetini etkinleştirdiğinizde projenizin Firebase kaynaklarına yalnızca uygulamanızın erişmesine yardımcı olursunuz.

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

Başlamadan önce

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

Henüz eklemediyseniz 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 bir getToken() yöntemi olmalıdır. Bu yöntem, özel App Check sağlayıcınızın özgünlüğünü kanıtlamak için istediği bilgileri toplayıp App Check jetonu karşılığında jeton edinme hizmetinize gönderir. 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 izleyin ve yaptırımı etkinleştirin

Ancak, zorunlu kılmayı etkinleştirmeden önce, bu işlemin mevcut meşru kullanıcılarınızın çalışmasını engellemediğ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 kullanın

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.