token

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2026 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IssueParams

type IssueParams struct {
	DeviceID     string
	Hostnames    []string
	Stage        int
	SessionNonce string
}

type Issuer

type Issuer struct {
	// contains filtered or unexported fields
}

func NewIssuer

func NewIssuer(cfg config.TokenConfig, publicHostname string, logger *slog.Logger) (*Issuer, error)

func (*Issuer) Issue

func (i *Issuer) Issue(params IssueParams) (string, error)

func (*Issuer) Verify

func (i *Issuer) Verify(tokenString string) (*NexusClaims, error)

type NexusClaims

type NexusClaims struct {
	Hostnames                  []string        `json:"hostnames"`
	TCPPorts                   []int           `json:"tcp_ports"`
	UDPRoutes                  []UDPRouteClaim `json:"udp_routes"`
	Weight                     int             `json:"weight"`
	SessionNonce               string          `json:"session_nonce"`
	HandshakeMaxAgeSeconds     *int            `json:"handshake_max_age_seconds"`
	ReauthIntervalSeconds      *int            `json:"reauth_interval_seconds"`
	ReauthGraceSeconds         *int            `json:"reauth_grace_seconds"`
	MaintenanceGraceCapSeconds *int            `json:"maintenance_grace_cap_seconds"`
	AuthorizerStatusURI        string          `json:"authorizer_status_uri"`
	PolicyVersion              string          `json:"policy_version"`
	IssuedAtQuote              string          `json:"issued_at_quote"`
	jwt.RegisteredClaims
}

type UDPRouteClaim

type UDPRouteClaim struct {
	Port                   int  `json:"port"`
	FlowIdleTimeoutSeconds *int `json:"flow_idle_timeout_seconds"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL