Documentation
¶
Overview ¶
Package goauthx provides a comprehensive authentication and authorization library for Go
Index ¶
- Constants
- Variables
- type AdminHandlers
- type AdminRouteConfig
- type AuthMiddleware
- type AuthResponse
- type ChangePasswordRequest
- type Config
- type ContextKey
- type DatabaseConfig
- type DatabaseDriver
- type EmailVerification
- type GoogleOAuthCallbackRequest
- type GoogleOAuthConfig
- type GoogleOAuthURLRequest
- type GoogleUserInfo
- type Handlers
- type JWTConfig
- type LoginRequest
- type Migrator
- type OAuthAccount
- type OAuthConfig
- type OAuthProvider
- type PasswordConfig
- type PasswordReset
- type Permission
- type PermissionDefinition
- type PermissionName
- type RefreshToken
- type RefreshTokenRequest
- type RegisterRequest
- type RequestPasswordResetRequest
- type ResetPasswordRequest
- type Role
- type RoleDefinition
- type RoleName
- type RouteConfig
- type Seeder
- type Service
- type Store
- type TokenConfig
- type User
- type VerifyEmailRequest
Constants ¶
Database drivers
const ( RoleAdmin = rbac.RoleAdmin RoleManager = rbac.RoleManager RoleCustomerExperience = rbac.RoleCustomerExperience RoleCustomer = rbac.RoleCustomer )
RBAC Role constants
const ( PermProductCreate = rbac.PermProductCreate PermProductRead = rbac.PermProductRead PermProductUpdate = rbac.PermProductUpdate PermProductDelete = rbac.PermProductDelete )
RBAC Permission constants - Product
const ( PermOrderCreate = rbac.PermOrderCreate PermOrderRead = rbac.PermOrderRead PermOrderUpdate = rbac.PermOrderUpdate PermOrderProcess = rbac.PermOrderProcess )
RBAC Permission constants - Order
const ( PermUserCreate = rbac.PermUserCreate PermUserRead = rbac.PermUserRead PermUserUpdate = rbac.PermUserUpdate PermUserDelete = rbac.PermUserDelete PermUserUpdateOwn = rbac.PermUserUpdateOwn )
RBAC Permission constants - User
const ( PermCustomerView = rbac.PermCustomerView PermCustomerOrderHistory = rbac.PermCustomerOrderHistory )
RBAC Permission constants - Customer Support
const ( UserIDKey = middleware.UserIDKey UserEmailKey = middleware.UserEmailKey UserRolesKey = middleware.UserRolesKey ClaimsKey = middleware.ClaimsKey )
Context keys
const (
OAuthProviderGoogle = models.OAuthProviderGoogle
)
OAuth providers
const (
PermReportView = rbac.PermReportView
)
RBAC Permission constants - Report
Variables ¶
var ( ErrInvalidCredentials = auth.ErrInvalidCredentials ErrUserNotFound = auth.ErrUserNotFound ErrUserInactive = auth.ErrUserInactive ErrEmailAlreadyExists = auth.ErrEmailAlreadyExists ErrInvalidRefreshToken = auth.ErrInvalidRefreshToken ErrPermissionDenied = auth.ErrPermissionDenied )
Common errors
var ( DefaultRoles = rbac.DefaultRoles DefaultPermissions = rbac.DefaultPermissions DefaultRolePermissions = rbac.DefaultRolePermissions AllRoleNames = rbac.AllRoleNames AllPermissionNames = rbac.AllPermissionNames IsValidRoleName = rbac.IsValidRoleName IsValidPermissionName = rbac.IsValidPermissionName GetRoleDescription = rbac.GetRoleDescription GetPermissionDefinition = rbac.GetPermissionDefinition DefaultRole = rbac.DefaultRole )
RBAC helper functions
var ( GetUserID = middleware.GetUserID GetUserEmail = middleware.GetUserEmail GetUserRoles = middleware.GetUserRoles GetClaims = middleware.GetClaims Chain = middleware.Chain )
Helper functions from middleware package
Functions ¶
This section is empty.
Types ¶
type AdminHandlers ¶ added in v0.0.3
type AdminHandlers = handlers.AdminHandlers
Re-export commonly used types for convenience
func NewAdminHandlers ¶ added in v0.0.3
func NewAdminHandlers(service *Service, store Store, cfg *handlers.AdminHandlersConfig) *AdminHandlers
NewAdminHandlers creates new admin HTTP handlers
type AdminRouteConfig ¶ added in v0.0.3
type AdminRouteConfig = config.AdminRouteConfig
Re-export commonly used types for convenience
func DefaultAdminRouteConfig ¶ added in v0.0.3
func DefaultAdminRouteConfig() *AdminRouteConfig
DefaultAdminRouteConfig returns admin route configuration with sensible defaults
type AuthMiddleware ¶
type AuthMiddleware = middleware.AuthMiddleware
Re-export commonly used types for convenience
func NewAuthMiddleware ¶
func NewAuthMiddleware(service *Service) *AuthMiddleware
NewAuthMiddleware creates a new authentication middleware
type AuthResponse ¶
type AuthResponse = auth.AuthResponse
Re-export commonly used types for convenience
type ChangePasswordRequest ¶
type ChangePasswordRequest = auth.ChangePasswordRequest
Re-export commonly used types for convenience
type Config ¶
Re-export commonly used types for convenience
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig returns a configuration with sensible defaults
type ContextKey ¶
type ContextKey = middleware.ContextKey
Re-export commonly used types for convenience
type DatabaseConfig ¶
type DatabaseConfig = config.DatabaseConfig
Re-export commonly used types for convenience
type DatabaseDriver ¶
type DatabaseDriver = config.DatabaseDriver
Re-export commonly used types for convenience
type EmailVerification ¶
type EmailVerification = models.EmailVerification
Re-export commonly used types for convenience
type GoogleOAuthCallbackRequest ¶
type GoogleOAuthCallbackRequest = auth.GoogleOAuthCallbackRequest
Re-export commonly used types for convenience
type GoogleOAuthConfig ¶
type GoogleOAuthConfig = config.GoogleOAuthConfig
Re-export commonly used types for convenience
type GoogleOAuthURLRequest ¶
type GoogleOAuthURLRequest = auth.GoogleOAuthURLRequest
Re-export commonly used types for convenience
type GoogleUserInfo ¶
type GoogleUserInfo = models.GoogleUserInfo
Re-export commonly used types for convenience
type Handlers ¶
Re-export commonly used types for convenience
func NewHandlers ¶
func NewHandlers(service *Service, routeConfig *RouteConfig) *Handlers
NewHandlers creates new HTTP handlers
type LoginRequest ¶
type LoginRequest = auth.LoginRequest
Re-export commonly used types for convenience
type Migrator ¶
type Migrator = migrations.Migrator
Re-export commonly used types for convenience
func NewMigrator ¶
func NewMigrator(store Store, driver DatabaseDriver) *Migrator
NewMigrator creates a new migrator
type OAuthAccount ¶
type OAuthAccount = models.OAuthAccount
Re-export commonly used types for convenience
type OAuthConfig ¶
type OAuthConfig = config.OAuthConfig
Re-export commonly used types for convenience
type OAuthProvider ¶
type OAuthProvider = models.OAuthProvider
Re-export commonly used types for convenience
type PasswordConfig ¶
type PasswordConfig = config.PasswordConfig
Re-export commonly used types for convenience
type PasswordReset ¶
type PasswordReset = models.PasswordReset
Re-export commonly used types for convenience
type PermissionDefinition ¶ added in v0.0.3
type PermissionDefinition = rbac.PermissionDefinition
Re-export commonly used types for convenience
type PermissionName ¶ added in v0.0.3
type PermissionName = rbac.PermissionName
Re-export commonly used types for convenience
type RefreshToken ¶
type RefreshToken = models.RefreshToken
Re-export commonly used types for convenience
type RefreshTokenRequest ¶
type RefreshTokenRequest = auth.RefreshTokenRequest
Re-export commonly used types for convenience
type RegisterRequest ¶
type RegisterRequest = auth.RegisterRequest
Re-export commonly used types for convenience
type RequestPasswordResetRequest ¶
type RequestPasswordResetRequest = auth.RequestPasswordResetRequest
Re-export commonly used types for convenience
type ResetPasswordRequest ¶
type ResetPasswordRequest = auth.ResetPasswordRequest
Re-export commonly used types for convenience
type RoleDefinition ¶ added in v0.0.3
type RoleDefinition = rbac.RoleDefinition
Re-export commonly used types for convenience
type RouteConfig ¶
type RouteConfig = config.RouteConfig
Re-export commonly used types for convenience
func DefaultRouteConfig ¶
func DefaultRouteConfig() *RouteConfig
DefaultRouteConfig returns route configuration with sensible defaults
type TokenConfig ¶
type TokenConfig = config.TokenConfig
Re-export commonly used types for convenience
type VerifyEmailRequest ¶
type VerifyEmailRequest = auth.VerifyEmailRequest
Re-export commonly used types for convenience
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
goauthx-migrate
command
|
|
|
examples
|
|
|
with-handlers
command
|
|
|
pkg
|
|
|
rbac
Package rbac provides Role-Based Access Control (RBAC) constants, types, and utilities
|
Package rbac provides Role-Based Access Control (RBAC) constants, types, and utilities |