Firebase Admin Java va token yangilash uchun bitta proxy transportidan foydalaning
Transport fabrikasini GoogleCredentials ga, transportni FirebaseOptions ga bering, shunda ikkala HTTP yo‘li ham proxy oladi.
Firebase HTTP chaqiruvlari va hisob ma’lumotlarini yangilash bir xil proxydan foydalanishi kerak bo‘lsa, ikkala transport kirishini sozlang. HTTP proxy ro‘yxatidan tanlangan ochiq HTTP manzili ham xuddi shu ikki uzatishni talab qiladi:
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);Muhim ikki uzatish — fromStream(serviceAccountStream, () -> transport) va setHttpTransport(transport). Birinchisi kirish tokenlarini olish uchun HTTP transportini beradi; ikkinchisi Firebase ilovasining HTTP transportini beradi. Faqat bittasini sozlasangiz, ikkinchisi o‘zining standart yo‘lida qolishi mumkin.
serviceAccountStream ilovaning ishonchli xizmat hisobi hisob ma’lumotlari oqimidir. Ilovani o‘z ishi uchun saqlang va Firebase ning odatiy hayot sikli orqali bo‘shating. Proxy sozlamasi TLS tekshiruvi uchun manzil host nomini o‘zgartirmaydi; u SDK klasslarini almashtirishni ham, hamma narsaga ishonadigan SSL fabrikasini ham talab qilmaydi.
Bu yerdagi qamrov ko‘rsatilgan HTTP interfeyslaridir. Realtime Database WebSocket yoki boshqa xizmat transportidan foydalanadigan ish yuki o‘sha transportning marshrutlash yordamini alohida tekshirishni talab qiladi.