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

Bu sayfa, özel Uygulama Kontrolü sağlayıcınızı kullanarak bir web uygulamasında Uygulama Kontrolü'nü nasıl etkinleştireceğinizi gösterir. Uygulama Kontrolü'nü etkinleştirdiğinizde projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlamaya yardımcı olursunuz.

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

Sen başlamadan önce

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

Henüz yapmadıysanız 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şturun

Özel sağlayıcınız için bir Uygulama Kontrolü sağlayıcı nesnesi oluşturun. Bu nesnenin, özel Uygulama Kontrolü sağlayıcınızın orijinalliğin kanıtı olarak ihtiyaç duyduğu her türlü bilgiyi toplayan ve bunu bir Uygulama Kontrolü jetonu karşılığında jeton edinme hizmetinize gönderen bir getToken() yöntemine sahip olması gerekir. Uygulama Kontrolü SDK'sı belirteç önbelleğe almayı yönetir, bu nedenle getToken() uygulamanızda her zaman yeni bir belirteç alın.

Web modular 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 namespaced API

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ın

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

Web modular 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 namespaced API

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 dağıtın.

Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü jetonları göndermeye başlayacaktır, ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde zorunlu kılmayı etkinleştirene kadar jetonların geçerli olmasını gerektirmeyecektir.

Metrikleri izleyin ve uygulamayı etkinleştirin

Ancak yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut meşru kullanıcılarınızı aksatmayacağından emin olmalısınız. Öte 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 hizmetlere ilişkin Uygulama Kontrolü metriklerine bakabilirsiniz:

Uygulama Kontrolü yaptırımı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ü yaptırımını etkinleştirebilirsiniz:

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

Uygulamanızı Uygulama Kontrolü için kaydettirdikten sonra, uygulamanızı Geliştirme sırasında yerel olarak veya sürekli entegrasyon (CI) ortamı gibi Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmayacağı bir ortamda çalıştırmak istiyorsanız, Uygulamanızın, gerçek bir doğrulama sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama yapısı.

Bkz. Web uygulamalarında hata ayıklama sağlayıcısıyla Uygulama Denetimini Kullanma .