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 లేదా మరో సర్వీస్ రవాణాను ఉపయోగించే పని కోసం ఆ రవాణా యొక్క రూటింగ్ మద్దతును విడిగా తనిఖీ చేయాలి.