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 ಅಥವಾ ಬೇರೆ ಸೇವಾ ಸಾಗಣೆಯನ್ನು ಬಳಸುವ ಕೆಲಸದ ಹೊರೆಗೆ ಆ ಸಾಗಣೆಯ ರೂಟಿಂಗ್ ಬೆಂಬಲವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಶೀಲಿಸಬೇಕು.