ለ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 ወይም ሌላ የአገልግሎት ማጓጓዣ የሚጠቀም ሥራ የዚያን ማጓጓዣ የመንገድ ድጋፍ ለየብቻ መመርመር ይኖርበታል።