auth

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package auth defines authentication strategy like Basic, Bearer.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMissingKID    = errors.New("missing kid in token header")
	ErrMissingSecret = errors.New("missing secret in cache")
)

Defined errors.

Functions

func KeyExpired

func KeyExpired(expires int64) bool

KeyExpired checks if a key has expired.

Types

type AutoStrategy

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

AutoStrategy defines authentication strategy which can automatically choose between Basic and Bearer according `Authorization` header.

func NewAutoStrategy

func NewAutoStrategy(basic, jwt middleware.AuthStrategy) AutoStrategy

NewAutoStrategy create auto strategy with basic strategy and jwt strategy.

func (AutoStrategy) AuthFunc

func (a AutoStrategy) AuthFunc() gin.HandlerFunc

AuthFunc defines auto strategy as the gin authentication middleware.

type BasicStrategy

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

BasicStrategy defines Basic authentication strategy.

func NewBasicStrategy

func NewBasicStrategy(compare func(username string, password string) bool) BasicStrategy

NewBasicStrategy creates basic strategy with compare function.

func (BasicStrategy) AuthFunc

func (b BasicStrategy) AuthFunc() gin.HandlerFunc

AuthFunc implements the AuthStrategy interface.

type JWTExStrategy

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

JWTExStrategy defines jwt bearer authentication strategy with user-specific secret.

func NewJWTExStrategy

func NewJWTExStrategy(get func(kid string) (Secret, error)) JWTExStrategy

NewJWTExStrategy creates a jwt strategy.

func (JWTExStrategy) AuthFunc

func (j JWTExStrategy) AuthFunc() gin.HandlerFunc

AuthFunc defines jwt strategy as the gin authentication middleware.

type JWTStrategy

type JWTStrategy struct {
	ginjwt.GinJWTMiddleware
}

JWTStrategy defines jwt bearer authentication strategy.

func NewJWTStrategy

func NewJWTStrategy(gjwt ginjwt.GinJWTMiddleware) JWTStrategy

NewJWTStrategy create jwt bearer strategy with GinJWTMiddleware.

func (JWTStrategy) AuthFunc

func (j JWTStrategy) AuthFunc() gin.HandlerFunc

AuthFunc defines jwt bearer strategy as the gin authentication middleware.

type Secret

type Secret struct {
	Username string
	ID       string
	Key      string
	Expires  int64
}

Secret contains the basic information of the secret key.

Jump to

Keyboard shortcuts

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