Невозможно отправить push-уведомление Firebase через удаленный сервер.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Невозможно отправить push-уведомление Firebase через удаленный сервер.

Сообщение Anonymous »

У меня есть проект Springboot, и я добавил зависимость от Firebase и все связанные с этим вещи.
Когда я запускаю проект локально, все работает нормально.
Я использую SDK администратора Firebase для отправки уведомлений.
Код для отправки:

Код: Выделить всё

try {
messagingService.send(message);
logger.info("Firebase notification sent to user: "+user.getUsername());
saveLog(true, "Notification Sent", pushNotificationLog);
return true;
}catch (FirebaseMessagingException e) {
logger.info("Firebase did not send notification to user: "+user.getUsername()+ " Error Message: "+e.getMessage());
saveLog(false, e.getMessage(), pushNotificationLog);
return false;
}
Как только я делаю то же самое на своем удаленном сервере с другими свойствами приложения, я получаю исключение при отправке уведомления, вот что оно говорит:

2024-03-18 07:27:14.759 INFO 1 --- [nio-8091-exec-4] cp.service.FirebaseNotificationService: Firebase не отправила уведомление пользователю: сообщение об ошибке zubair : Неизвестная ошибка при удаленном вызове службы: Ошибка получения токена доступа для учетной записи службы: java.security.NoSuchAlgorithmException: Ошибка построения реализации (алгоритм: Default, поставщик: SunJSSE, класс: sun.security.ssl.SSLContextImpl$DefaultSSLContext), iss : firebase-adminsdk-b545a@bol3-c8b35.ibm.gserviceaccount.com

Я использовал криптографические алгоритмы в некоторых местах своего кода, и они работают. хорошо, только это не так.
Я попробовал запустить свой локальный компьютер со свойствами приложения удаленного сервера, и все сработало нормально. Я не могу разобраться в проблеме.
Изображение
Изображение
Изображение
Изображение
Изображение

Изменить 1:
Теперь, чтобы еще больше сузить эту проблему, я получил зацепку, а именно:
Я написал следующую строку в своем файле докеров и столкнулся с проблемой из-за этого.

Код: Выделить всё

ENTRYPOINT ["java","-jar","-Djava.security.egd=file:/dev/./urandom","-Djavax.net.ssl.keyStore=/opt/java/openjdk/lib/security/cacerts","-Djavax.net.ssl.keyStorePassword=cheit","-Djdk.tls.client.protocols=TLSv1.2", "/app.jar"]
Когда я изменил строку выше на строку ниже, это сработало.

Код: Выделить всё

ENTRYPOINT ["java","-jar","-Djava.security.egd=file:/dev/./urandom","-Djdk.tls.client.protocols=TLSv1.2", "/app.jar"] 
Это показывает, что в файле cacerts есть некоторая проблема, но она появляется только тогда, когда я использую Firebase.
Что я могу сделать, чтобы решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/781 ... ote-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»