permissions

package module
v0.0.0-...-4e012a5 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2022 License: MIT Imports: 13 Imported by: 0

README

dynamic-permissions

Dinamyc Permissions middleware for KrakenD Framework (☞゚ヮ゚)☞

This Project is a necessity for my enterprise context and that's why I don't check some things as security or errors in the JWT Paylod parsing. Be free to modify, clone or make pull requests.

Next Steps:

  • Order
  • Security
  • Flexible Parsing
  • A more complete Backend Response Parsing
  • Cache

Documentation

Overview

This package manages permissions based on key found in the payload of a JWT

Index

Constants

View Source
const (
	NameSpace = "github.com/stratoff/dynamic-permissions"
)

Variables

This section is empty.

Functions

func CheckRoleWithBackend

func CheckRoleWithBackend(role, permission_code, backendURL, httpMethod string) (hasPermission bool)

func GetRoleFromPayload

func GetRoleFromPayload(token string) (role string, err error)

func MiddlewareHandlerFunc

func MiddlewareHandlerFunc(hf ginlura.HandlerFactory, logger logging.Logger) ginlura.HandlerFactory

func NewHasPermission

func NewHasPermission(permConfig *PermissionConfig, authorization string) bool

Types

type PermissionConfig

type PermissionConfig struct {
	PermissionCode string `json:"permission"`
	Backend        string `json:"backend"`
	Method         string `json:"http_method"`
}

func ParseConfig

func ParseConfig(e config.ExtraConfig, logger logging.Logger) *PermissionConfig

Manticora Function based in IP-FILTER middleware (i think)

type RequestBody

type RequestBody struct {
	Name        string `json:"name"`
	Permissions []struct {
		Name string `json:"name"`
	} `json:"permissions"`
}

type ResponseBody

type ResponseBody struct {
	HasPermission bool `json:"has_permission"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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