Skip to content

Server setup for Push Notifications #8488

@andreslucena

Description

@andreslucena

Ref. PWA13.1

Is your feature request related to a problem? Please describe.

As a Decidim implementer and sysadmin I want to know how to configure my server so the app can send push notifications.

Describe the solution you'd like

I want instructions on how to set this up.

At a minimum I'll need:

  • A rake task for generating the VAPID keys (rails decidim:generate)
  • Some ENV vars for setting the VAPID_PRIVATE_KEY and VAPID_PUBLIC_KEY
  • A doc in Services -> Push notifications explaining how to set this up and these keys in Configure -> Env vars

Describe alternatives you've considered

To not have these VAPID keys setup but AFAIK this is necessary for sending push notifications.

Additional context
See Metadecidim proposal

See Step 1: Client Side in Google's guide:

Before subscribing a user you'll need to generate a set of "application server keys", which we'll cover later on.

The application server keys, also known as VAPID keys, are unique to your server. They allow a push service to know which application server subscribed a user and ensure that it's the same server triggering the push messages to that user.

Does this issue could impact on users private data?
It could have some personal data in some notifications (for instance, in the case of Messaging)

Acceptance criteria

  • As a Decidim implementer, I have documentation on how to configure push notifications in the server side
  • Given that I'm a Decidim implementer,
    When I run rails decidim:generate
    Then I have the following ouput:
 VAPID keys correctly generated.
 ************************
 VAPID private key is XXXXXXXXXXXXXX
 VAPID public key is XXXXXXXXXXXXXX
  • Given that I'm a Decidim implementer,
    When I configure the VAPID_PRIVATE_KEY and VAPID_PUBLIC_KEY env vars
    Then the push notifications service is set up

Metadata

Metadata

Assignees

Labels

project: PWABarcelona City Council contract

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions