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

Bu sayfada, özel Uygulama Kontrolü sağlayıcınızı kullanarak bir web uygulamasında Uygulama Kontrolü'nün nasıl etkinleştirileceği gösterilmektedir. Uygulama Kontrolü'nü etkinleştirdiğinizde projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlarsınız.

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

Başlamadan önce

1. Uygulama Kontrolü kitaplığını uygulamanıza ekleme

Henüz eklemediyseniz Firebase'i web uygulamanıza ekleyin. Uygulama Kontrolü kitaplığını içe aktardığınızdan emin olun.

2. Uygulama Kontrolü sağlayıcı nesnesini oluşturma

Özel sağlayıcınız için bir Uygulama Kontrolü sağlayıcı nesnesi oluşturun. Bu nesnenin bir getToken() yöntemi olmalıdır. Bu yöntem, özel Uygulama Kontrolü sağlayıcınızın özgünlük kanıtı olarak istediği bilgileri toplar ve Uygulama Kontrolü jetonu karşılığında jeton edinme hizmetinize gönderir. App Check SDK, jeton önbelleğine alma işlemini gerçekleştirir. Bu nedenle getToken() uygulamanızda her zaman yeni bir jeton alın.

Web modüler API

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 ad alanı API'si

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. Uygulama Kontrolü'nü Başlat

Herhangi bir Firebase hizmetine erişmeden önce uygulamanıza aşağıdaki başlatma kodunu ekleyin:

Web modüler API

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 ad alanı API'si

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

Uygulama Kontrolü kitaplığı uygulamanıza yüklendikten sonra kitaplığı dağıtın.

Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü jetonları göndermeye başlar. Ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde yaptırımı etkinleştirmediğiniz sürece 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 hizmetlerin Uygulama Kontrolü metriklerine bakabilirsiniz:

Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştir

Uygulama Kontrolü'nün kullanıcılarınızı nasıl etkileyeceğini anladığınızda ve devam etmeye hazır olduğunuzda Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştirebilirsiniz:

Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanma

Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra, uygulamanızı normalde Uygulama Kontrolü'nün geçerli olarak sınıflandırılmayacağı bir ortamda (ör. geliştirme sırasında yerel olarak veya sürekli entegrasyon (CI) ortamından) çalıştırmak isterseniz uygulamanızın, gerçek bir onay sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesi oluşturabilirsiniz.

Web uygulamalarında hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma başlıklı makaleye göz atın.