Web uygulamalarında hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma

Bir arka uç hizmeti için App Check zorunlu kılındıktan sonra, bu arka uç hizmetine bağlı olan uygulama özellikleriniz localhost veya sürekli entegrasyon (CI) ortamında çalışmaz. Bunun nedeni, bu ortamların geçerli cihaz olarak kabul edilmemesidir. Geliştirme ve test sırasında uygulamanızı bu ortamlarda çalıştırmak için uygulamanızın üretim tasdik sağlayıcısı yerine App Check hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesini oluşturmanız gerekir.

localhost'ta hata ayıklama sağlayıcısını kullanma

Uygulamanızı localhost konumundan çalıştırırken hata ayıklama sağlayıcısını kullanma adımları (örneğin, yerel geliştirme sırasında):

  1. Hata ayıklama derlemenizde, App Check öğesini başlatmadan önce self.FIREBASE_APPCHECK_DEBUG_TOKEN değerini true olarak ayarlayarak hata ayıklama modunu etkinleştirin. Örneğin:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. Web uygulamanızı yerel olarak ziyaret edin ve tarayıcının geliştirici araçlarını açın. Hata ayıklama konsolunda bir hata ayıklama jetonu görürsünüz:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    
  3. Hata ayıklama jetonunuzu App Check ile kaydedin:

    1. Firebase konsolunda Güvenlik > Uygulama Kontrolü > Uygulamalar sekmesine gidin.

    2. Uygulamanızı bulun, üç nokta taşma menüsünü () tıklayın ve Hata ayıklama jetonlarını yönet'i seçin.

    3. Hata ayıklama jetonunuzu kaydetmek için ekrandaki talimatları uygulayın.

    Firebase konsolundaki Hata Ayıklama Jetonlarını Yönet menü öğesinin ekran görüntüsü

Jetonu App Check ile kaydettikten sonra arka uç hizmetleriniz bunu geçerli olarak kabul eder.

Bu jeton, geçerli bir cihaz olmadan arka uç hizmetlerinize erişmenizi sağlar. Bu nedenle, jetonunuzu gizli tutmanız çok önemlidir. Bu jetonu herkese açık bir depoya işlemeyin veya uygulamanızın üretim derlemelerinde göndermeyin. Kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolundaki Hata ayıklama jetonlarını yönet seçeneğini kullanarak jetonu hemen silin.

Bu jeton tarayıcınızda yerel olarak depolanır ve uygulamanızı aynı makinede aynı tarayıcıda her kullandığınızda kullanılır. Jetonu başka bir tarayıcıda veya makinede kullanmak istiyorsanız true yerine self.FIREBASE_APPCHECK_DEBUG_TOKEN değerini jeton dizesi olarak ayarlayın.

CI ortamında hata ayıklama sağlayıcısını kullanma

Sürekli entegrasyon (CI) ortamında hata ayıklama sağlayıcısını kullanma:

  1. Firebase konsolunda bir hata ayıklama jetonu oluşturun:

    1. Firebase konsolunda Güvenlik > Uygulama Kontrolü > Uygulamalar sekmesine gidin.

    2. Uygulamanızı bulun, üç nokta taşma menüsünü () tıklayın ve Hata ayıklama jetonlarını yönet'i seçin.

    3. Yeni bir hata ayıklama jetonu oluşturmak için ekrandaki talimatları uygulayın.

    Bu jeton, geçerli bir cihaz olmadan arka uç hizmetlerinize erişmenizi sağlar. Bu nedenle, jetonunuzu gizli tutmanız çok önemlidir. Bu jetonu herkese açık bir depoya işlemeyin veya uygulamanızın üretim derlemelerinde göndermeyin. Kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolundaki Hata ayıklama jetonlarını yönet seçeneğini kullanarak jetonu hemen silin.

    Hata ayıklama jetonlarını yönet menü öğesinin ekran görüntüsü

  2. Yeni oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna ekleyin (ör. GitHub Actions'ın şifrelenmiş sırları veya Travis CI'ın şifrelenmiş değişkenleri).

  3. Gerekirse hata ayıklama jetonunuzu CI ortamında ortam değişkeni olarak kullanılabilir hale getirmek için CI sisteminizi yapılandırın. Değişkeni APP_CHECK_DEBUG_TOKEN_FROM_CI gibi bir adla adlandırın.

  4. Hata ayıklama derlemenizde, self.FIREBASE_APPCHECK_DEBUG_TOKEN değerini hata ayıklama jetonu ortam değişkeninin değerine ayarlayarak hata ayıklama modunu etkinleştirin. Bunu, App Check öğesini içe aktarmadan önce yapmanız gerekir. Örneğin:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    firebase.appCheck().activate(/* site key or provider */);
    

Uygulamanız bir CI ortamında çalışırken arka uç hizmetleriniz, gönderdiği jetonu geçerli olarak kabul eder.