Použijte jeden proxy transport pro Firebase Admin Java a obnovu tokenů
Předejte továrnu transportu do GoogleCredentials a transport do FirebaseOptions, aby obě HTTP cesty procházely proxy.
Nakonfigurujte oba vstupy transportu, když mají HTTP volání Firebase a obnova přihlašovacích údajů používat stejnou proxy. Veřejný HTTP koncový bod vybraný ze seznamu HTTP proxy potřebuje stejnou dvojici předání:
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);Dvě důležitá předání jsou fromStream(serviceAccountStream, () -> transport) a setHttpTransport(transport). První poskytuje HTTP transport pro získání přístupových tokenů; druhé poskytuje HTTP transport aplikace Firebase. Nastavení jen jednoho může nechat druhé na jeho výchozí trase.
serviceAccountStream je důvěryhodný proud přihlašovacích údajů servisního účtu aplikace. Ponechte aplikaci pro její zátěž a uvolněte ji běžným životním cyklem Firebase. Nastavení proxy ponechává název cílového hostitele nedotčený pro ověření TLS; nevyžaduje nahrazení tříd SDK ani SSL továrnu, která věří všemu.
Rozsah zde tvoří zobrazená HTTP rozhraní. Zátěž používající WebSocket Realtime Database nebo jiný transport služby vyžaduje samostatné ověření podpory směrování tohoto transportu.