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
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 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:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için Uygulama Kontrolü istek metriklerini izleyin.
- Cloud Functions için Uygulama Kontrolü istek metriklerini izleyin.
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:
- Realtime Database, Cloud Firestore, Cloud Storage ve Authentication (beta) için Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştirin.
- Cloud Functions için Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştirin.
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.