Használjon egyetlen proxy transzportot a Firebase Admin Java és a tokenfrissítés számára
Adja át a transzport gyárat a GoogleCredentialsnek és a transzportot a FirebaseOptionsnak, hogy mindkét HTTP útvonal megkapja a proxyt.
Konfigurálja mindkét transzport bemenetet, amikor a Firebase HTTP hívásainak és a hitelesítő adatok frissítésének ugyanazt a proxyt kell használnia. Az HTTP proxy listából választott nyilvános HTTP végpont ugyanezt a két átadást igényli:
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);A két fontos átadás a fromStream(serviceAccountStream, () -> transport) és a setHttpTransport(transport). Az első biztosítja a HTTP transzportot a hozzáférési tokenek megszerzéséhez; a második a Firebase alkalmazás HTTP transzportját adja. Ha csak az egyiket állítja be, a másik az alapértelmezett útvonalán maradhat.
A serviceAccountStream az alkalmazás megbízható szolgáltatásfiók-hitelesítő adatfolyama. Tartsa meg az alkalmazást a terheléséhez, és a szokásos Firebase életciklussal engedje el. A proxy beállítás érintetlenül hagyja a cél hosztnevét a TLS-ellenőrzéshez; nem igényel sem SDK-osztályok cseréjét, sem mindent megbízó SSL gyárat.
A hatókör itt a bemutatott HTTP interfészek. A Realtime Database WebSocketjét vagy más szolgáltatástranszportot használó terhelésnek külön kell ellenőriznie az adott transzport útvonal-támogatását.