Documentation ¶
Index ¶
- type GroupTree
- type Parser
- type ParserConfig
- type Permissions
- func (t *Permissions) CheckPermission(product string, object string, per authorization.Permission, groups ...string) ([]string, bool)
- func (t *Permissions) GetAllGroups() map[string]struct{}
- func (t *Permissions) GetGroups(groupType string) []string
- func (t *Permissions) GetGroupsByTypes() map[string][]string
- func (t *Permissions) GetParents(group string) map[string]interface{}
- func (t *Permissions) ValidGroups(product string, object string, per authorization.Permission) map[string]struct{}
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Parser ¶
type Parser struct { ParserConfig KeyFunc func(token *jwt.Token) (interface{}, error) }
func NewParser ¶
func NewParser(p ParserConfig) *Parser
NewParser returns an instance of Parser which parses bearers from a publicKey
type ParserConfig ¶
type ParserConfig struct { PublicKey string `json:"public_key_str"` AdminGroup string `json:"admin_group"` DummyToken string `json:"dummy_token"` IgnoreExpiration bool `json:"ignore_expiration"` MemberIDClaim []string `json:"member_id_claim"` GroupsClaim []string `json:"groups_claim"` FetchNeededClaim []string `json:"fetch_needed_claim"` }
ParserConfig is the data required to instance a Parser
type Permissions ¶
type Permissions struct { Permissions map[string]map[string]map[authorization.Permission]map[string]struct{} //Product-->object-->Permission-->Groups Groups []map[string]GroupTree // Group hierarchy tree MemberID []string // Member identifier }
func NewPermissions ¶
func NewPermissions(jwt interface{}, memberId []string, adminGroup string) *Permissions
func (*Permissions) CheckPermission ¶
func (t *Permissions) CheckPermission(product string, object string, per authorization.Permission, groups ...string) ([]string, bool)
Checks the user permissions for a specified product and object Returns: Groups that have the requested permissions
func (*Permissions) GetAllGroups ¶
func (t *Permissions) GetAllGroups() map[string]struct{}
Return the group codes
func (*Permissions) GetGroups ¶
func (t *Permissions) GetGroups(groupType string) []string
Returns all groups of a given type
func (*Permissions) GetGroupsByTypes ¶
func (t *Permissions) GetGroupsByTypes() map[string][]string
Returns a map indexed by group types, containing the list of groups of that type
func (*Permissions) GetParents ¶
func (t *Permissions) GetParents(group string) map[string]interface{}
Returns all the parents of a given group
func (*Permissions) ValidGroups ¶
func (t *Permissions) ValidGroups(product string, object string, per authorization.Permission) map[string]struct{}
Return all the groups that have a permissions into an object
Click to show internal directories.
Click to hide internal directories.