Firebase Admin Java आणि टोकन रिफ्रेशसाठी एकच प्रॉक्सी ट्रान्सपोर्ट वापरा
ट्रान्सपोर्ट फॅक्टरी GoogleCredentials ला आणि ट्रान्सपोर्ट FirebaseOptions ला द्या जेणेकरून दोन्ही HTTP मार्गांना प्रॉक्सी मिळेल.
Firebase चे HTTP कॉल आणि क्रेडेन्शियल रिफ्रेश यांनी एकच प्रॉक्सी वापरायची असेल तेव्हा दोन्ही ट्रान्सपोर्ट इनपुट कॉन्फिगर करा. HTTP प्रॉक्सी यादीतून निवडलेल्या सार्वजनिक HTTP एंडपॉइंटलाही तीच दोन हस्तांतरणे लागतात:
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 ट्रान्सपोर्ट पुरवते; दुसरे Firebase अॅपचे HTTP ट्रान्सपोर्ट पुरवते. फक्त एक सेट केल्यास दुसरे त्याच्या डीफॉल्ट मार्गावर राहू शकते.
serviceAccountStream हा अॅपचा विश्वासार्ह सेवा-खाते क्रेडेन्शियल प्रवाह आहे. अॅप त्याच्या कामासाठी ठेवा आणि नेहमीच्या Firebase जीवनचक्रातून सोडा. प्रॉक्सी सेटिंग TLS पडताळणीसाठी लक्ष्य होस्टनेमला अक्षत ठेवते; यासाठी SDK वर्ग बदलणे किंवा सर्वांवर विश्वास ठेवणारी SSL फॅक्टरी आवश्यक नाही.
येथे व्याप्ती दाखवलेल्या HTTP इंटरफेसची आहे. Realtime Database WebSocket किंवा इतर सेवा ट्रान्सपोर्ट वापरणाऱ्या कामाच्या भारासाठी त्या ट्रान्सपोर्टचा राउटिंग आधार स्वतंत्रपणे तपासावा लागेल.