Documentation
¶
Index ¶
- Constants
- Variables
- func CreateUserJWT(user *users.User, expiry time.Time) (string, error)
- func GenerateJWT[T any](claims T, issuer string, subject string, audience string, ttl time.Duration, ...) (string, error)
- func VerifyJWT[T any](tokenString string, issuer string, audience string, method jwt.SigningMethod) (*T, error)
- type UserJWTClaims
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 ¶
CreateUserJWT creates a signed JWT token for the user with custom expiration.
func GenerateJWT ¶
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.
Click to show internal directories.
Click to hide internal directories.