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.
Yerleşik sağlayıcılardan biriyle Uygulama Kontrolü kullanmak istiyorsanız, reCAPTCHA v3 ile Uygulama Kontrolü ve reCAPTCHA Enterprise ile Uygulama Kontrolü dokümanlarına bakın.
Sen başlamadan önce
Henüz yapmadıysanız Firebase'i JavaScript projenize ekleyin .
Özel Uygulama Kontrolü sağlayıcınızın sunucu tarafı mantığını uygulayın .
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. App Check sağlayıcı nesnesini oluşturun
Özel sağlayıcınız için bir Uygulama Kontrolü sağlayıcı nesnesi oluşturun. Bu nesne, özel Uygulama Kontrolü sağlayıcınızın orijinallik kanıtı olarak ihtiyaç duyduğu bilgileri toplayan ve bir Uygulama Kontrolü belirteci karşılığında belirteç edinme hizmetinize gönderen bir getToken()
yöntemine sahip olmalıdır. App Check SDK, belirteç önbelleğe almayı işler, bu nedenle getToken()
uygulamanızda her zaman yeni bir belirteç edinin.
Web version 9
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 version 8
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 uygulamanıza aşağıdaki başlatma kodunu ekleyin:
Web version 9
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 version 8
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ü belirteçleri göndermeye başlayacak, ancak Firebase konsolunun Uygulama Kontrolü bölümünde zorlamayı etkinleştirene kadar Firebase ürünleri, belirteçlerin geçerli olmasını gerektirmeyecektir.
Metrikleri izleyin ve yaptırımı etkinleştirin
Ancak yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut yasal kullanıcılarınızı kesintiye uğratmayacağı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 hizmetler için Uygulama Kontrolü ölçümlerine bakabilirsiniz:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için App Check istek ölçümlerini izleyin .
- Bulut İşlevleri için Uygulama Kontrolü istek ölçümlerini izleyin .
Uygulama Kontrolü zorlaması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ü uygulamasını etkinleştirebilirsiniz:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için App Check zorlamasını etkinleştirin .
- Cloud Functions için App Check zorlamasını etkinleştirin .
Hata ayıklama ortamlarında Uygulama Kontrolü 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ırmadığı bir ortamda çalıştırmak isterseniz, gerçek bir tasdik sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan, uygulamanızın bir hata ayıklama yapısı.
Bkz. Uygulama Denetimini web uygulamalarında hata ayıklama sağlayıcısıyla kullanma .