Configurați ambele intrări de transport când apelurile HTTP Firebase și reîmprospătarea acreditărilor trebuie să folosească același proxy. Un punct final HTTP public ales din lista de proxy-uri HTTP are nevoie de aceeași pereche de predări:

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

Cele două predări importante sunt fromStream(serviceAccountStream, () -> transport) și setHttpTransport(transport). Prima furnizează transportul HTTP pentru obținerea tokenurilor de acces; a doua furnizează transportul HTTP al aplicației Firebase. Setarea doar a uneia poate lăsa cealaltă pe ruta sa implicită.

serviceAccountStream este fluxul de acreditări de cont de serviciu de încredere al aplicației. Păstrați aplicația pentru sarcina sa și eliberați-o prin ciclul de viață normal Firebase. Setarea proxy lasă numele de gazdă al destinației intact pentru verificarea TLS; nu necesită nici înlocuirea claselor SDK, nici o fabrică SSL care are încredere în tot.

Domeniul de aici îl reprezintă interfețele HTTP prezentate. O sarcină care folosește WebSocket-ul Realtime Database sau un alt transport de serviciu trebuie să verifice separat suportul de rutare al acelui transport.

Articole similare