tokens

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractToken

func ExtractToken(authHeader string) (string, error)

ExtractToken extracts the token from an Authorization header Expects format: "Bearer <token>"

func GenerateRefreshToken

func GenerateRefreshToken(length int) (string, error)

GenerateRefreshToken generates a cryptographically secure random refresh token

Types

type Claims

type Claims struct {
	UserID string   `json:"user_id"`
	Email  string   `json:"email"`
	Roles  []string `json:"roles,omitempty"`
	jwt.RegisteredClaims
}

Claims represents the JWT claims

type TokenManager

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

TokenManager handles JWT token operations

func NewTokenManager

func NewTokenManager(secret string, accessTokenExpiry time.Duration, issuer, audience string) *TokenManager

NewTokenManager creates a new TokenManager

func (*TokenManager) GenerateAccessToken

func (tm *TokenManager) GenerateAccessToken(userID, email string, roles []string) (string, time.Time, error)

GenerateAccessToken generates a new JWT access token

func (*TokenManager) ValidateAccessToken

func (tm *TokenManager) ValidateAccessToken(tokenString string) (*Claims, error)

ValidateAccessToken validates and parses a JWT access token

type TokenPair

type TokenPair struct {
	AccessToken  string    `json:"access_token"`
	RefreshToken string    `json:"refresh_token"`
	ExpiresAt    time.Time `json:"expires_at"`
	TokenType    string    `json:"token_type"`
}

TokenPair represents an access token and refresh token pair

Jump to

Keyboard shortcuts

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