this repo has no description
1package main
2
3import (
4 "encoding/json"
5 "os"
6
7 oauth_helpers "github.com/haileyok/atproto-oauth-golang/helpers"
8 "github.com/urfave/cli/v2"
9)
10
11func main() {
12 app := &cli.App{
13 Name: "Atproto Oauth Golang Helper",
14 Commands: []*cli.Command{
15 runGenerateJwks,
16 },
17 }
18
19 app.RunAndExitOnError()
20}
21
22var runGenerateJwks = &cli.Command{
23 Name: "generate-jwks",
24 Flags: []cli.Flag{
25 &cli.StringFlag{
26 Name: "prefix",
27 Required: false,
28 },
29 },
30 Action: func(cmd *cli.Context) error {
31 var prefix *string
32 if cmd.String("prefix") != "" {
33 inputPrefix := cmd.String("prefix")
34 prefix = &inputPrefix
35 }
36 key, err := oauth_helpers.GenerateKey(prefix)
37 if err != nil {
38 return err
39 }
40
41 b, err := json.Marshal(key)
42 if err != nil {
43 return err
44 }
45
46 if err := os.WriteFile("./jwks.json", b, 0644); err != nil {
47 return err
48 }
49
50 return nil
51 },
52}