Користите један proxy транспорт за Firebase Admin Java и освежавање токена
Проследите фабрику транспорта објекту GoogleCredentials и транспорт објекту FirebaseOptions како би оба HTTP пута добила proxy.
Подесите оба улаза транспорта када Firebase HTTP позиви и освежавање акредитива морају да користе исти proxy. Јавна HTTP крајња тачка изабрана са листе HTTP proxy сервера захтева исти пар преноса:
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);Два важна преноса су fromStream(serviceAccountStream, () -> transport) и setHttpTransport(transport). Први обезбеђује HTTP транспорт за добијање приступних токена; други обезбеђује HTTP транспорт Firebase апликације. Ако поставите само један, други може остати на подразумеваној рути.
serviceAccountStream је ток акредитива услужног налога од поверења који апликација користи. Задржите апликацију за њен посао и ослободите је кроз уобичајени Firebase животни циклус. Подешавање proxy-ја оставља име одредишног хоста нетакнутим за TLS верификацију; оно не захтева замену SDK класа ни SSL фабрику која верује свему.
Обухват овде су приказани HTTP интерфејси. Радни оптерет који користи Realtime Database WebSocket или други сервисни транспорт захтева да се подршка рутирања тог транспорта провери одвојено.