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 അല്ലെങ്കിൽ മറ്റൊരു സേവന ട്രാൻസ്പോർട്ട് ഉപയോഗിക്കുന്ന ജോലിഭാരത്തിന് ആ ട്രാൻസ്പോർട്ടിന്റെ റൂട്ടിംഗ് പിന്തുണ വെവ്വേറെ പരിശോധിക്കണം.

അനുബന്ധ ലേഖനങ്ങൾ