Documentation
¶
Index ¶
- func Middleware(authConfig *config.AuthConfig, routeAuth *config.RouteAuth, next http.Handler) http.Handler
- func SetAuthContext(r *http.Request, authCtx *AuthContext) *http.Request
- func StoreAuthContext(r *http.Request, authCtx *AuthContext) *http.Request
- func ValidateAuthorization(r *http.Request, routeAuth *config.RouteAuth, authCtx *AuthContext) (bool, error)
- func ValidateCertChain(cert *x509.Certificate, caCert *x509.Certificate) error
- type AuthContext
- func ExtractAuthContext(r *http.Request) *AuthContext
- func GetAuthContext(r *http.Request) *AuthContext
- func ValidateAPIKey(r *http.Request, cfg *config.APIKeyConfig) (*AuthContext, error)
- func ValidateJWT(r *http.Request, cfg *config.JWTConfig) (*AuthContext, error)
- func ValidateMTLS(r *http.Request, routeAuth *config.RouteAuth) (*AuthContext, error)
- type CustomClaims
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Middleware ¶
func Middleware(authConfig *config.AuthConfig, routeAuth *config.RouteAuth, next http.Handler) http.Handler
Middleware handles authentication and authorization
func SetAuthContext ¶
func SetAuthContext(r *http.Request, authCtx *AuthContext) *http.Request
SetAuthContext stores auth context in request context
func StoreAuthContext ¶
func StoreAuthContext(r *http.Request, authCtx *AuthContext) *http.Request
StoreAuthContext stores auth context in request context
func ValidateAuthorization ¶
func ValidateAuthorization(r *http.Request, routeAuth *config.RouteAuth, authCtx *AuthContext) (bool, error)
ValidateAuthorization performs RBAC and scope validation
func ValidateCertChain ¶
func ValidateCertChain(cert *x509.Certificate, caCert *x509.Certificate) error
ValidateCertChain validates the certificate chain
Types ¶
type AuthContext ¶
type AuthContext struct {
Authenticated bool
IdentityType string // "user", "device", "service"
UserID string
ClientID string
Roles []string
Scopes []string
CertCommonName string
}
AuthContext holds authentication and authorization information
func ExtractAuthContext ¶
func ExtractAuthContext(r *http.Request) *AuthContext
ExtractAuthContext extracts authentication context from request
func GetAuthContext ¶
func GetAuthContext(r *http.Request) *AuthContext
GetAuthContext retrieves auth context from request context
func ValidateAPIKey ¶
func ValidateAPIKey(r *http.Request, cfg *config.APIKeyConfig) (*AuthContext, error)
ValidateAPIKey validates API key and returns auth context
func ValidateJWT ¶
ValidateJWT validates JWT token and extracts authentication context
func ValidateMTLS ¶
ValidateMTLS validates client certificate and extracts identity
type CustomClaims ¶
type CustomClaims struct {
jwt.RegisteredClaims
Roles []string `json:"roles,omitempty"`
Scopes []string `json:"scopes,omitempty"`
UserID string `json:"user_id,omitempty"`
}
CustomClaims extends JWT claims with roles and scopes