File: jwt_settings.go

package info (click to toggle)
golang-github-akamai-akamaiopen-edgegrid-golang 1.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 1,408 kB
  • sloc: sh: 532; makefile: 3
file content (43 lines) | stat: -rw-r--r-- 1,223 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package apiendpoints

type JWTSettings struct {
	Enabled  bool `json:"enabled"`
	Settings struct {
		Location   JWTSettingsLocationValue `json:"location"`
		ParamName  string                   `json:"paramName"`
		ClockSkew  int                      `json:"clockSkew"`
		Validation *struct {
			Claims        []JWTClaim    `json:"claims"`
			RsaPublicKeyA RsaPublicKey  `json:"rsaPublicKeyA"`
			RsaPublicKeyB *RsaPublicKey `json:"rsaPublicKeyB,omitempty"`
		} `json:"validation"`
	} `json:"settings"`
	Resources map[int]JWTSettingsResource `json:"resources"`
}

type JWTSettingsResource struct {
	ResourceSettings
	Enabled bool    `json:"enabled"`
	Notes   *string `json:"notes,omitempty"`
}

type RsaPublicKey struct {
	Name    string `json:"name"`
	Content string `json:"content"`
}

type JWTClaim struct {
	Name     string   `json:"name"`
	Validate bool     `json:"validate"`
	Required bool     `json:"required"`
	Value    []string `json:"value"`
	Type     string   `json:"type"`
}

type JWTSettingsLocationValue string

const (
	JWTSettingsLocationHeader JWTSettingsLocationValue = "HEADER"
	JWTSettingsLocationCookie JWTSettingsLocationValue = "COOKIE"
	JWTSettingsLocationQuery  JWTSettingsLocationValue = "QUERY"
)