Gumamit ng isang proxy transport para sa Firebase Admin Java at pag-refresh ng token
Ipasa ang transport factory sa GoogleCredentials at ang transport sa FirebaseOptions upang makuha ng dalawang HTTP path ang proxy.
I-configure ang dalawang transport input kapag ang mga HTTP call ng Firebase at ang pag-refresh ng credential ay dapat gumamit ng parehong proxy. Ang pampublikong HTTP endpoint na pinili mula sa listahan ng HTTP proxy ay nangangailangan ng parehong pares ng paghahatid:
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);Ang dalawang mahalagang paghahatid ay fromStream(serviceAccountStream, () -> transport) at setHttpTransport(transport). Ang una ay nagbibigay ng HTTP transport para sa pagkuha ng access token; ang pangalawa ay nagbibigay ng HTTP transport ng Firebase app. Kapag isa lang ang itinakda, maaaring manatili ang isa sa default nitong ruta.
serviceAccountStream ay ang pinagkakatiwalaang service-account credential stream ng app. Panatilihin ang app para sa trabaho nito at pakawalan ito sa normal na lifecycle ng Firebase. Ang proxy setting ay iniiwan ang hostname ng patutunguhan nang buo para sa TLS verification; hindi ito nangangailangan ng pagpapalit ng SDK class o ng SSL factory na nagtitiwala sa lahat.
Ang saklaw dito ay ang mga HTTP interface na ipinakita. Ang workload na gumagamit ng Realtime Database WebSocket o ibang service transport ay kailangang suriin nang hiwalay ang suporta sa routing ng transport na iyon.