Konfigurirajte oba transportna ulaza kada Firebase HTTP pozivi i osvježavanje vjerodajnica moraju koristiti isti proxy. Javna HTTP krajnja točka odabrana s popisa HTTP proxyja zahtijeva isti par prijenosa:

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);

Dva važna prijenosa su fromStream(serviceAccountStream, () -> transport) i setHttpTransport(transport). Prvi osigurava HTTP transport za dobivanje pristupnih tokena; drugi osigurava HTTP transport Firebase aplikacije. Postavljanje samo jednoga može ostaviti drugoga na njegovoj zadanoj ruti.

serviceAccountStream je pouzdani tok vjerodajnica servisnog računa aplikacije. Zadržite aplikaciju za njezin radni teret i oslobodite je uobičajenim Firebase životnim ciklusom. Proxy postavka ostavlja naziv odredišnog hosta netaknutim za TLS provjeru; ne zahtijeva ni zamjenu SDK klasa ni SSL tvornicu koja vjeruje svemu.

Opseg su ovdje prikazana HTTP sučelja. Radni teret koji koristi Realtime Database WebSocket ili drugi transport usluge zahtijeva zasebnu provjeru podrške za usmjeravanje tog transporta.

Povezani članci