auth

package
v0.8.5 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HeaderHMACHash      = "X-HMAC-Hash"
	HeaderHMACTimestamp = "X-HMAC-Timestamp"
	HeaderHMACNonce     = "X-HMAC-Nonce"

	HMACKeyId     = "HMACKeyId"
	HMACTimestamp = "HMACTimestamp"
	HMACNonce     = "HMACNonce"
	DefaultKeyId  = "authenticated"
)
View Source
const (
	ContextJwtClaims = "jwtClaims"
)
View Source
const (
	DefaultRealm = "restricted"
)
View Source
const (
	DefaultTokenAuthHeader = "X-API-Key"
)

Variables

This section is empty.

Functions

func AuthMiddleware

func AuthMiddleware(auth Provider) gin.HandlerFunc

func GetHMACDetails

func GetHMACDetails(c *gin.Context) (string, string, string, bool)

GetHMACDetails fetch hmac details returns keyId, timestamp, nonce, true if success

func GetHMACIdentity

func GetHMACIdentity(c *gin.Context) (string, bool)

GetHMACIdentity fetch hmac keyId

func GetJWTClaims

func GetJWTClaims(c *gin.Context) (*jwtprovider.Claims, bool)

GetJWTClaims helper to get claims from gin context

func GetJWTToken

func GetJWTToken(c *gin.Context) (string, bool)

GetJWTToken helper to get JWT token from gin context

func GetSessionIdentity

func GetSessionIdentity(c *gin.Context) (any, bool)

Types

type BasicAuthProvider added in v0.8.4

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

func (*BasicAuthProvider) CanAccess added in v0.8.4

func (a *BasicAuthProvider) CanAccess(c *gin.Context) bool

type BasicAuthProviderOption added in v0.8.4

type BasicAuthProviderOption func(*BasicAuthProvider)

func WithRealm added in v0.8.4

func WithRealm(realm string) BasicAuthProviderOption

type Provider

type Provider interface {
	CanAccess(c *gin.Context) bool
}

func NewAuthJWT

func NewAuthJWT(p jwtprovider.JWTParser) Provider

func NewAuthSession

func NewAuthSession(gobIdentityTypes ...any) Provider

NewAuthSession creates a new auth session gobIdentityTypes are optional identity types for user identity that need to be registered with gob() for correct serialization/deserialization

func NewAuthToken

func NewAuthToken(headerName string, key string) Provider

NewAuthToken create simple auth token provider checks a predefined header for a specific token Security Note: while this approach may be somewhat fine for backend, machine-to-machine authentication in a highly secured and controlled environment, it is inherently as insecure as it can get. DO NOT use it as a means of authentication on web environments!!

func NewAuthTokenList

func NewAuthTokenList(headerName string, keyList []string) Provider

NewAuthTokenList create simple auth token provider checks if a predefined header has a specific token from a token list Security Note: while this approach may be somewhat fine for backend, machine-to-machine authentication in a highly secured and controlled environment, it is inherently as insecure as it can get. DO NOT use it as a means of authentication on web environments!!

func NewBasicAuthProvider added in v0.8.4

func NewBasicAuthProvider(b backend.Authenticator, opts ...BasicAuthProviderOption) (Provider, error)

func NewHMACAuthProvider

func NewHMACAuthProvider(provider *hmacprovider.HMACProvider) Provider

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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