auth

package
v0.0.0-...-c89eb6e Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2025 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidCredentials  = errors.New("invalid credentials")
	ErrInvalidAccessToken  = errors.New("invalid access token")
	ErrInvalidRefreshToken = errors.New("invalid refresh token")
	ErrMismatchedUserID    = errors.New("refresh token and access token reference differents user id")

	ErrEmptyBearerToken = errors.New("empty bearer token")

	SigningKey = []byte(os.Getenv("JWT_SECRET"))
)

Functions

func AdminRequired

func AdminRequired() gin.HandlerFunc

func AuthRequired

func AuthRequired() gin.HandlerFunc

func GenerateAccessToken

func GenerateAccessToken(user models.User) (string, error)

func GenerateRefreshToken

func GenerateRefreshToken(uid uint) (models.RefreshToken, error)

Generates a refresh token and stores in database

func GetUserFromJwt

func GetUserFromJwt(ctx *gin.Context) (models.User, error)

func Login

func Login(email, password string) (models.User, error)

func RefreshTokens

func RefreshTokens(refreshToken string) (string, string, error)

Checks the user's refresh token and generates a new access token if it's valid.

Types

type AccessTokenClaims

type AccessTokenClaims struct {
	UID      uint
	Username string
	Admin    bool
	jwt.RegisteredClaims
}

Jump to

Keyboard shortcuts

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