Documentation ¶
Index ¶
- Variables
- func BootApp()
- func CustomErrorHandler(c *fiber.Ctx, err error) error
- func DeleteToken(c *fiber.Ctx)
- func GenerateAppKey(length int)
- func LoadAppConfig()
- func LoadAuthConfig()
- func LoadCacheConfig()
- func LoadCacheHeaders(c *fiber.Ctx) error
- func LoadDBConfig()
- func LoadEnv()
- func LoadHeaders(c *fiber.Ctx) error
- func LoadMailConfig()
- func LoadPaypalConfig()
- func LoadQueueConfig()
- func LoadSession()
- func LoadSessionConfig()
- func ParseToken(c *fiber.Ctx, secret string) (uint, error)
- func PermissionParserWithSeperator(sep string) func(o *Options)
- func PrepareHtml(view string, body fiber.Map) string
- func Send(to string, subject string, body string, cc string, from string)
- func SetupDB() (*gorm.DB, error)
- func SetupMailer()
- func SetupPermission()
- type AppConfiguration
- type AuthConfiguration
- type CacheConfiguration
- type Database
- type MailConfiguration
- type Options
- type PaypalConfiguration
- type PermissionMiddleware
- func (cm *PermissionMiddleware) RequiresPermissions(permissions []string, opts ...func(o *Options)) func(*fiber.Ctx) error
- func (cm *PermissionMiddleware) RequiresRoles(roles []string, opts ...func(o *Options)) func(*fiber.Ctx) error
- func (cm *PermissionMiddleware) RoutePermission() func(*fiber.Ctx) error
- type PermissionParserFunc
- type QueueConfiguration
- type SessionConfiguration
- type Token
Constants ¶
This section is empty.
Variables ¶
var AtLeastOne = func(o *Options) {
o.ValidationRule = atLeastOne
}
AtLeastOne is an option that defines at least on of permissions or roles should match to pass.
var BlastlistedDomains = []string{}
var MatchAll = func(o *Options) {
o.ValidationRule = matchAll
}
MatchAll is an option that defines all permissions or roles should match the user.
var ViperConfig *viper.Viper //nolint:gochecknoglobals
Functions ¶
func CustomErrorHandler ¶
func GenerateAppKey ¶
func GenerateAppKey(length int)
func LoadAppConfig ¶
func LoadAppConfig()
func LoadAuthConfig ¶
func LoadAuthConfig()
func LoadCacheConfig ¶
func LoadCacheConfig()
func LoadCacheHeaders ¶
func LoadCacheHeaders(c *fiber.Ctx) error
func LoadDBConfig ¶
func LoadDBConfig()
func LoadHeaders ¶
func LoadHeaders(c *fiber.Ctx) error
func LoadMailConfig ¶
func LoadMailConfig()
func LoadPaypalConfig ¶
func LoadPaypalConfig()
func LoadQueueConfig ¶
func LoadQueueConfig()
func LoadSession ¶
func LoadSession()
func LoadSessionConfig ¶
func LoadSessionConfig()
func ParseToken ¶
ParseToken returns the users id or error
func PermissionParserWithSeperator ¶
PermissionParserWithSeperator is an option that parses permission with seperators
func PrepareHtml ¶
func SetupMailer ¶
func SetupMailer()
func SetupPermission ¶
func SetupPermission()
Types ¶
type AppConfiguration ¶
type AppConfiguration struct { App_Name string App_Upload_Path string App_Upload_Size int App_Env string App_Key string App_Url string App_Port string }
var AppConfig *AppConfiguration //nolint:gochecknoglobals
type AuthConfiguration ¶
var AuthConfig *AuthConfiguration //nolint:gochecknoglobals
type CacheConfiguration ¶
var CacheConfig *CacheConfiguration //nolint:gochecknoglobals
type Database ¶
type Database struct { DB_Driver string //nolint:goimports,gofmt DB_Host string DB_Port int DB_User string DB_Pass string DB_Name string }
var DBConfig *Database //nolint:gochecknoglobals
type MailConfiguration ¶
type MailConfiguration struct { Mail_Host string Mail_Port int Mail_Username string Mail_Password string Mail_Encryption string Mail_From_Address string Mail_From_Name string }
var MailConfig *MailConfiguration //nolint:gochecknoglobals
type Options ¶
type Options struct { ValidationRule validationRule PermissionParser PermissionParserFunc }
Options holds options of middleware
type PaypalConfiguration ¶
var PaypalConfig *PaypalConfiguration //nolint:gochecknoglobals
type PermissionMiddleware ¶
type PermissionMiddleware struct { // ModelFilePath is path to model file for Casbin. // Optional. Default: "./model.conf". Enforcer *casbin.Enforcer // PolicyAdapter is an interface for different persistent providers. // Optional. Default: fileadapter.NewAdapter("./policy.csv"). PolicyAdapter *gormadapter.Adapter // Lookup is a function that is used to look up current subject. // An empty string is considered as unauthenticated user. // Optional. Default: func(c *fiber.Ctx) string { return "" } Lookup func(*fiber.Ctx) string // Optional. Default: func(c *fiber.Ctx) string { c.SendStatus(401) } Unauthorized func(*fiber.Ctx) error // Forbidden defines the response body for forbidden responses. // Optional. Default: func(c *fiber.Ctx) string { c.SendStatus(403) } Forbidden func(*fiber.Ctx) error }
Config holds the configuration for the middleware
var Auth *PermissionMiddleware
func (*PermissionMiddleware) RequiresPermissions ¶
func (cm *PermissionMiddleware) RequiresPermissions(permissions []string, opts ...func(o *Options)) func(*fiber.Ctx) error
RequiresPermissions tries to find the current subject and determine if the subject has the required permissions according to predefined Casbin policies.
func (*PermissionMiddleware) RequiresRoles ¶
func (cm *PermissionMiddleware) RequiresRoles(roles []string, opts ...func(o *Options)) func(*fiber.Ctx) error
RequiresRoles tries to find the current subject and determine if the subject has the required roles according to predefined Casbin policies.
func (*PermissionMiddleware) RoutePermission ¶
func (cm *PermissionMiddleware) RoutePermission() func(*fiber.Ctx) error
RoutePermission tries to find the current subject and determine if the subject has the required permissions according to predefined Casbin policies. This method uses http Path and Method as object and action.
type PermissionParserFunc ¶
PermissionParserFunc is used for parsing the permission to extract object and action usually
type QueueConfiguration ¶
type QueueConfiguration struct { Queue_User string Queue_Pass string Queue_Host string Queue_Port string Queue_VHost string }
var QueueConfig *QueueConfiguration //nolint:gochecknoglobals
type SessionConfiguration ¶
var SessionConfig *SessionConfiguration //nolint:gochecknoglobals
type Token ¶
func CreateToken ¶
CreateToken authenticates the user
func RefreshToken ¶
RefreshToken refreshes the token