ໃຊ້ transport proxy ດຽວສຳລັບ Firebase Admin Java ແລະການໂຫຼດ token ຄືນ
ສົ່ງ transport factory ໃຫ້ GoogleCredentials ແລະ transport ໃຫ້ FirebaseOptions ເພື່ອໃຫ້ເສັ້ນທາງ HTTP ທັງສອງໄດ້ຮັບ proxy.
ຕັ້ງຄ່າອິນພຸດ transport ທັງສອງ ເມື່ອການເອີ້ນ HTTP ຂອງ Firebase ແລະການໂຫຼດ credential ຄືນຕ້ອງໃຊ້ proxy ດຽວກັນ. HTTP endpoint ສາທາລະນະທີ່ເລືອກຈາກ ລາຍການ proxy 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). ອັນທຳອິດໃຫ້ transport HTTP ສຳລັບຮັບ token ເຂົ້າເຖິງ; ອັນທີສອງໃຫ້ transport HTTP ຂອງແອັບ Firebase. ການຕັ້ງພຽງອັນດຽວອາດເຮັດໃຫ້ອີກອັນໜຶ່ງຢູ່ເທິງເສັ້ນທາງຄ່າເລີ່ມຕົ້ນ.
serviceAccountStream ແມ່ນກະແສ credential ບັນຊີບໍລິການທີ່ເຊື່ອຖືໄດ້ຂອງແອັບ. ເກັບແອັບໄວ້ສຳລັບວຽກຂອງມັນ ແລະປ່ອຍມັນຜ່ານວົງຈອນຊີວິດ Firebase ປົກກະຕິ. ການຕັ້ງຄ່າ proxy ປະໄວ້ຊື່ host ປາຍທາງໃຫ້ຄົງເດີມສຳລັບການກວດສອບ TLS; ມັນບໍ່ຕ້ອງການການປ່ຽນ class SDK ຫຼື factory SSL ທີ່ເຊື່ອທຸກຢ່າງ.
ຂອບເຂດຢູ່ນີ້ແມ່ນອິນເຕີເຟສ HTTP ທີ່ສະແດງ. ວຽກທີ່ໃຊ້ WebSocket ຂອງ Realtime Database ຫຼື transport ບໍລິການອື່ນ ຕ້ອງກວດສອບການຮອງຮັບການເສັ້ນທາງຂອງ transport ນັ້ນແຍກຕ່າງຫາກ.