This project is not covered by Drupal’s security advisory policy.

Description

The module manage send of notification (desktop / mobile / ...) using the Push API.

The module allow you to:

  • Configure a web push notification service
  • Manage the list of subscriber
  • Send notifications
  • Display a bloc to subscribe and unsubscribe (Web Push block)
  • Use an other Service Worker, for example if you use the PWA module

The module doesn't manage:

Web Push use the Push API to manage subscribe / unsubscribe to Push notification.

The module use the library minishlink/web-push to send the notifications. This library doesn't use a Third Party.

Requirements

Installation

  • Install and enable this module like any other Drupal module.

Configuration

  • Configure the Authentication (VAPID) at the page /admin/config/services/web-push/VAPID, 2 methods :
  • Configure the default options /admin/config/services/web-push/default-settings
  • Give the permission to Access POST on REST for Web Push subscription resource
  • Clear your cache

Security advice

Security optimization:

  • Rate limit on the POST request ?
    • Flood control can be enable : /admin/config/services/web-push/security
  • Avoid CrossDomain (CORS), server configuraton ?
  • https://www.drupal.org/project/seckit

Example

 \Drupal::service('web_push.manager')->sendNotification(
      'Notification Title',
      'Notification Body',
      'noticiation-redirect-url',
      'notification-icon-url',
      \Drupal\web_push\Service\WebPushSender::URGENCY_HIGH
    );

Sponsor


Supporting organizations: 

Project information

Releases