auth

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// JWT cookie name.
	JWTCookieName = "x-waypoint-auth"
)

Variables

View Source
var (
	ErrUnexpectedSigningMethod = errors.New("unexpected signing method")
	ErrInvalidToken            = errors.New("invalid token")
	ErrInvalidClaimsType       = errors.New("invalid claims type")
	ErrMissingDataClaim        = errors.New("missing data claim")
	ErrFailedJWTSigning        = errors.New("failed to sign JWT token")
)
View Source
var (
	// ErrFailedJWTParsing is returned when JWT parsing fails.
	ErrFailedJWTParsing = errors.New("failed to parse JWT token")

	// ErrInvalidJWTToken is returned when the JWT token is invalid.
	ErrInvalidJWTToken = errors.New("invalid JWT token")

	// ErrInvalidJWTClaims is returned when the JWT claims are invalid.
	ErrInvalidJWTClaims = errors.New("invalid JWT claims")
)

Functions

func CreateUserJWT

func CreateUserJWT(user *users.User, expiry time.Time) (string, error)

CreateUserJWT creates a signed JWT token for the user with custom expiration.

func GenerateJWT

func GenerateJWT[T any](
	claims T,
	issuer string,
	subject string,
	audience string,
	ttl time.Duration,
	method jwt.SigningMethod,
) (string, error)

func VerifyJWT

func VerifyJWT[T any](
	tokenString string,
	issuer string,
	audience string,
	method jwt.SigningMethod,
) (*T, error)

Types

type UserJWTClaims

type UserJWTClaims struct {
	UserID     string   `json:"user_id"`
	UserEmail  string   `json:"user_email"`
	UserName   string   `json:"user_name"`
	UserGroups []string `json:"user_groups,omitempty"`
	jwt.RegisteredClaims
}

UserJWTClaims represents the custom claims for our JWT tokens.

func VerifyUserJWT

func VerifyUserJWT(tokenString string) (*UserJWTClaims, error)

VerifyUserJWT verifies and parses a JWT token.

Jump to

Keyboard shortcuts

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