sessionkey

package
v0.72.1 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2026 License: BSD-3-Clause, AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SignToken

func SignToken(privKeyB64, userID, email, domain string, method auth.Method, groups, groupNames []string, expiration time.Duration) (string, error)

SignToken mints a session JWT for the given user and domain. email, groups, and groupNames, when non-empty, are embedded so the proxy can authorise and stamp identity for policy-aware middlewares without a management round-trip on every cookie-bearing request. groupNames pairs positionally with groups; pass nil when names couldn't be resolved.

Types

type Claims

type Claims struct {
	jwt.RegisteredClaims
	Method auth.Method `json:"method"`
	// Email is the calling user's email address. Carried so the
	// proxy can stamp identity on upstream requests (e.g.
	// x-litellm-end-user-id) without an extra management
	// round-trip on every cookie-bearing request.
	Email string `json:"email,omitempty"`
	// Groups carries the user's group IDs so the proxy can stamp them
	// onto upstream requests (X-NetBird-Groups) from the cookie path
	// without an extra management round-trip.
	Groups []string `json:"groups,omitempty"`
	// GroupNames carries the human-readable display names for the ids
	// in Groups, ordered identically (positional pairing). Slice may be
	// shorter than Groups for tokens minted before names were
	// resolvable; the consumer falls back to ids for missing positions.
	GroupNames []string `json:"group_names,omitempty"`
}

type KeyPair

type KeyPair struct {
	PrivateKey string
	PublicKey  string
}

func GenerateKeyPair

func GenerateKeyPair() (*KeyPair, error)

Jump to

Keyboard shortcuts

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