Stel albei transportinvoere op wanneer Firebase se HTTP-oproepe en die verfrissing van bewysstukke dieselfde proxy moet gebruik. 'n Openbare HTTP-eindpunt wat uit die HTTP-proxyslys gekies word, het dieselfde twee oorhandigings nodig:

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

Die twee belangrike oorhandigings is fromStream(serviceAccountStream, () -> transport) en setHttpTransport(transport). Die eerste voorsien die HTTP-transport om toegangstokens te verkry; die tweede voorsien die Firebase-toepassing se HTTP-transport. As net een gestel word, kan die ander op sy verstekroete bly.

serviceAccountStream is die toepassing se vertroude diensrekening-bewysstroom. Hou die toepassing vir sy werklading en stel dit deur die normale Firebase-lewensiklus vry. Die proxy-instelling laat die bestemming se gasheernaam vir TLS-verifikasie ongeskonde; dit vereis nóg die vervanging van SDK-klasse nóg 'n SSL-fabriek wat alles vertrou.

Die omvang hier is die getoonde HTTP-koppelvlakke. 'n Werklading wat Realtime Database WebSocket of 'n ander dienstransport gebruik, se routeringsondersteuning moet afsonderlik nagegaan word.

Verwante artikels