Documentation
¶
Overview ¶
Package auth provides functionality related to authentication and authorization
Index ¶
- func CreateClient(ctx context.Context, config ServiceConfiguration) (*authservice.Client, error)
- func GetEntitlement(ctx context.Context, entitlementEndpoint string, ...) (*string, error)
- type AuthzResourceManager
- type EntitlementMeta
- type EntitlementResource
- type ResourceManager
- type ResourceSet
- type ServiceConfiguration
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateClient ¶
func CreateClient(ctx context.Context, config ServiceConfiguration) (*authservice.Client, error)
func GetEntitlement ¶
func GetEntitlement(ctx context.Context, entitlementEndpoint string, entitlementResource *EntitlementResource, userAccesToken string) (*string, error)
GetEntitlement obtains Entitlement for specific resource. If entitlementResource == nil then Entitlement for all resources available to the user is returned. Returns (nil, nil) if response status == Forbiden which means the user doesn't have permissions to obtain Entitlement
Types ¶
type AuthzResourceManager ¶
type AuthzResourceManager struct {
// contains filtered or unexported fields
}
AuthzResourceManager implements ResourceManager interface
func NewAuthzResourceManager ¶
func NewAuthzResourceManager(config ServiceConfiguration) *AuthzResourceManager
NewAuthzResourceManager constructs AuthzResourceManager
func (*AuthzResourceManager) CreateSpace ¶
func (m *AuthzResourceManager) CreateSpace(ctx context.Context, request *http.Request, spaceID string) error
CreateSpace calls auth service to create a keycloak resource associated with the space
func (*AuthzResourceManager) DeleteSpace ¶
func (m *AuthzResourceManager) DeleteSpace(ctx context.Context, request *http.Request, spaceID string) error
DeleteSpace calls auth service to delete the keycloak resource associated with the space
type EntitlementMeta ¶
type EntitlementMeta struct {
Limit string `json:"limit"`
}
type EntitlementResource ¶
type EntitlementResource struct {
Permissions []ResourceSet `json:"permissions"`
MetaInformation EntitlementMeta `json:"metadata"`
}
EntitlementResource represents a payload for obtaining entitlement for specific resource
type ResourceManager ¶
type ResourceManager interface {
CreateSpace(ctx context.Context, request *http.Request, spaceID string) error
DeleteSpace(ctx context.Context, request *http.Request, spaceID string) error
}
ResourceManager represents a space resource manager
type ResourceSet ¶
type ResourceSet struct {
Name string `json:"resource_set_name"`
ID *string `json:"resource_set_id,omitempty"`
}
ResourceSet represents a resource set for Entitlement payload
type ServiceConfiguration ¶
type ServiceConfiguration interface {
GetAuthServiceURL() string
GetAuthShortServiceHostName() string
IsAuthorizationEnabled() bool
}
ServiceConfiguration represents auth service configuration