rastrillo / aviso Public

Clone
git clone https://amadan.net/rastrillo/aviso

Plain git — no account needed to clone.

Download

Download this file

1// Command aviso-key prints one VAPID private key, and nothing else, so
2// it can be captured straight into a secret store:
3//
4// APP_VAPID_PRIVATE_KEY="$(go run amadan.net/rastrillo/aviso/cmd/aviso-key)"
5//
6// The public key is derived by aviso.New; there is no second value to
7// keep. Run it once per app: rotating the key means every browser
8// re-enrols on its next visit.
9package main
10
11import (
12 "fmt"
13 "io"
14 "os"
15
16 "amadan.net/rastrillo/aviso"
17)
18
19func run(w io.Writer) error {
20 k, err := aviso.GenerateKey()
21 if err != nil {
22 return err
23 }
24 _, err = fmt.Fprintln(w, k)
25 return err
26}
27
28func main() {
29 if err := run(os.Stdout); err != nil {
30 fmt.Fprintln(os.Stderr, "aviso-key:", err)
31 os.Exit(1)
32 }
33}
34