Не удалось десериализовать ключ при отправке push-уведомления с помощью django web push

Получаем эту ошибку:

ValueError: ('Could not deserialize key data. The data may be in an incorrect format, it may be encrypted with an unsupported algorithm, or it may be an unsupported key type (e.g. EC curves with explicit parameters).', [_OpenSSLErrorWithText(code=218542222, lib=13, reason=142, reason_text=b'error:0D06B08E:asn1 encoding routines:asn1_d2i_read_bio:not enough data')])

Я пытаюсь использовать django-webpush для приема подписки от моего сервисного работника и отправки push-уведомления определенному пользователю.

Вот что я добавил к своим представлениям в Django:

subscription = json.loads('{"endpoint" : "https://fcm.googleapis.com/fcm/send/esP-gJr0HoE:APA91bF7swMPi7BGmzy9acg1k3lj8HAkU2BJNsDSXIWKWRdP3Dvbp5UCbfPioI78q7u9bwotaJ7Vo_6naCojdOxnbgFKsWUv7Srd5MlCFVhpBdhkFAasYRAtrh5FnbD1KF5a_xKKHPpN", "expirationTime" : null, "keys" : {"p256dh":"BNUFqA0mrtLFLHUnAhLfM9KGA63YfhrU913mOeuR3O8vNVmm65iSFJ25TIHoyUKPEAUQxQhEPaerjqCX_N9adgQ","auth":"YSorvfN6ZCW-QaJ0GJnK8g"}}')
payload = {"head": "Welcome!", "body": "Hello World"}
webpush_settings = getattr(settings, 'WEBPUSH_SETTINGS', {})
vapid_private_key = webpush_settings.get('VAPID_PRIVATE_KEY')
vapid_admin_email = webpush_settings.get('VAPID_ADMIN_EMAIL')

vapid_data = {
    'vapid_private_key': vapid_private_key,
    'vapid_claims': {"sub": "mailto:{}".format(vapid_admin_email)}
}
webpush(subscription_info=subscription, data=payload, ttl=0, **vapid_data)

    
Вернуться на верх