هنگامی که فراخوانی‌های 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 را برای گرفتن توکن‌های دسترسی فراهم می‌کند؛ دومی ترنسپورت HTTP برنامه فایربیس را فراهم می‌کند. تنظیم فقط یکی می‌تواند دیگری را روی مسیر پیش‌فرضش رها کند.

serviceAccountStream جریان اعتبارنامه حساب سرویس مورد اعتماد برنامه است. برنامه را برای بار کاری‌اش نگه دارید و آن را از طریق چرخه عمر عادی فایربیس آزاد کنید. تنظیم پراکسی نام میزبان مقصد را برای بررسی TLS دست‌نخورده می‌گذارد؛ نه به جایگزینی کلاس‌های SDK نیاز دارد و نه به یک کارخانه SSL که به همه چیز اعتماد کند.

دامنه اینجا همان رابط‌های HTTP نشان‌داده‌شده است. بار کاری‌ای که از WebSocket پایگاه داده بی‌درنگ یا ترنسپورت سرویس دیگری استفاده می‌کند باید پشتیبانی مسیریابی آن ترنسپورت را جداگانه بررسی کند.

مقالات مرتبط