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

సంబంధిత వ్యాసాలు