Skip to content
Apps and Libraries to support WebPush VAPID
Branch: master
Clone or download
Pull request Compare This branch is 43 commits ahead, 5 commits behind jrconlin:master.
jrconlin Merge pull request #73 from web-push-libs/CoC
chore: Add Code of Conduct
Latest commit 21536e3 Mar 27, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
js update index.html to reflect RFC approval (finally) May 21, 2018
python feat: Fix cryptography v2.5 deprecation Feb 12, 2019
rust/vapid f r's Mar 21, 2019
.travis.yml Feat: 3.4 support and JSON dump Mar 22, 2017 chore: Add Code of Conduct Mar 27, 2019
LICENSE bug: fix dashboard token validation signing Apr 29, 2016 Reference proper version of the spec Apr 26, 2017

Easy VAPID generation

A set of VAPID encoding libraries for popular languages.


VAPID is a draft specification for providing self identification. see for the latest specification.


In short, you create a JSON blob that contains some contact information about your WebPush feed, for instance:

    "aud": "https://YourSiteHere.example",
    "sub": "mailto://admin@YourSiteHere.example",
    "exp": 1457718878

You then convert that to a JWT encoded withalg = "ES256". The resulting token is the Authorization header "Bearer ..." token, the Public Key used to sign the JWT is added to the Crypto-Key set as "p256ecdsa=..."

You can’t perform that action at this time.