Použite jeden proxy transport pre Firebase Admin Java a obnovu tokenov
Odovzdajte továreň transportu do GoogleCredentials a transport do FirebaseOptions, aby obe HTTP cesty prechádzali cez proxy.
Nakonfigurujte oba vstupy transportu, keď HTTP volania Firebase a obnova prihlasovacích údajov majú používať rovnaké proxy. Verejný HTTP koncový bod vybraný zo zoznamu HTTP proxy potrebuje rovnakú dvojicu odovzdaní:
var proxy = new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example.net", 8080));
var transport =
new com.google.api.client.http.javanet.NetHttpTransport.Builder()
.setProxy(proxy)
.build();
var credentials = com.google.auth.oauth2.GoogleCredentials.fromStream(
serviceAccountStream, () -> transport);
var options = com.google.firebase.FirebaseOptions.builder()
.setCredentials(credentials)
.setHttpTransport(transport)
.build();
var app = com.google.firebase.FirebaseApp.initializeApp(options);Dve dôležité odovzdania sú fromStream(serviceAccountStream, () -> transport) a setHttpTransport(transport). Prvé poskytuje HTTP transport na získanie prístupových tokenov; druhé poskytuje HTTP transport aplikácie Firebase. Nastavenie iba jedného môže nechať druhé na jeho predvolenej trase.
serviceAccountStream je dôveryhodný tok prihlasovacích údajov servisného účtu aplikácie. Ponechajte aplikáciu pre jej záťaž a uvoľnite ju bežným životným cyklom Firebase. Nastavenie proxy ponecháva názov cieľového hostiteľa nedotknutý na overenie TLS; nevyžaduje nahradenie tried SDK ani SSL továreň, ktorá verí všetkému.
Rozsah tu tvoria zobrazené HTTP rozhrania. Záťaž používajúca WebSocket Realtime Database alebo iný transport služby vyžaduje samostatné overenie podpory smerovania tohto transportu.