auth

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2025 License: MIT Imports: 3 Imported by: 0

README

Auth

This package provides JWT token management and user authentication interfaces.

Usage

JWT Token Creation
// Default 24-hour expiration
token, err := auth.CreateToken(userId, secret, nil)

// Custom expiration
expires := time.Now().Add(2 * time.Hour)
token, err := auth.CreateToken(userId, secret, &expires)
JWT Token Parsing
userId, err := auth.ParseToken(token, secret)
if err != nil {
    // Handle invalid token
}
User Repository Interface
type AuthUserRepository interface {
    FindAuthUserById(userId string) (AuthUser, error)
}

Integration

This package integrates with the middleware package for route protection. See middleware documentation for usage examples.

Token Details

  • Uses HMAC-SHA256 signing
  • Contains userId in custom claims
  • Default expiration: 24 hours

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateToken

func CreateToken(userId string, secret string, expires *time.Time) (string, error)

func ParseToken

func ParseToken(token string, secret string) (string, error)

Types

type AuthUser added in v0.18.0

type AuthUser struct {
	Id             string
	Name           string
	HashedPassword string
	Email          string
	Username       string
}

type AuthUserRepository added in v0.18.0

type AuthUserRepository interface {
	FindAuthUserById(userId string) (AuthUser, error)
}

type UserClaims

type UserClaims struct {
	UserId string `json:"userId"`
	jwt.RegisteredClaims
}

Jump to

Keyboard shortcuts

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