This module enables sending web push notifications to desktop and mobile devices using the Push API. It allows configuring notification services, managing subscribers, sending notifications, and providing a subscription block to users.
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:
- Automatic push send, you have to define your own rules and use the service given, see example below
- Automatic deletion of invalid subscribe
- Protection against CSRF/XSRF (https://developer.mozilla.org/en-US/docs/Web/API/Push_API)
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
- php >=8.0
- minishlink/web-push
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 :
- use auto generate
- generate it manually, more details
- 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
Agence du Numérique en Santé (ANS)
Ask your assistant about Web Push
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
- rest Drupal core
- serialization Drupal core
- user Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Release Timeline
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 2.1.0 | Stable | 10–11 | Jan 12, 2026 | ||
| 2.0.0 | Stable | 10–11 | Sep 17, 2025 | ||
| 1.0.1-rc1 | Pre-release | 9–10 | PHP 8 | Oct 24, 2023 | |
| 1.0.0-rc2 | Pre-release | 9–10 | PHP 8 | Oct 18, 2023 | |
| 1.0.0-rc1 | Pre-release | 9–10 | PHP 8 | Oct 3, 2023 | |
| 1.0.0-beta2 | Pre-release | 9–10 | PHP 8 | Oct 2, 2023 | |
| 1.0.x-dev | Dev | 9–11 | PHP 8 | Sep 26, 2023 | |
| 1.0.0-beta1 | Pre-release | 9–10 | PHP 8 | Sep 26, 2023 |