Configureu les dues entrades de transport quan les crides HTTP de Firebase i l'actualització de credencials hagin d'usar el mateix proxy. Un punt final HTTP públic triat de la llista de proxys HTTP necessita aquest mateix parell de lliuraments:

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

Els dos lliuraments importants són fromStream(serviceAccountStream, () -> transport) i setHttpTransport(transport). El primer proporciona el transport HTTP per obtenir tokens d'accés; el segon proporciona el transport HTTP de l'aplicació Firebase. Si només se'n defineix un, l'altre pot quedar-se a la seva ruta per defecte.

serviceAccountStream és el flux de credencials de compte de servei de confiança de l'aplicació. Manteniu l'aplicació per a la seva càrrega de treball i allibereu-la mitjançant el cicle de vida normal de Firebase. La configuració del proxy deixa intacte el nom d'amfitrió de destinació per a la verificació TLS; no requereix ni substituir classes del SDK ni una fàbrica SSL que ho confiï tot.

L'abast aquí són les interfícies HTTP mostrades. Una càrrega de treball que faci servir el WebSocket de Realtime Database o un altre transport de servei necessita una comprovació separada del suport d'encaminament d'aquell transport.

Articles relacionats