Versions in this module Expand all Collapse all v0 v0.0.3 Jun 13, 2017 v0.0.2 Jun 13, 2017 Changes in this version + const PermissionTypeResource + const PolicyDecisionStrategyUnanimous + const PolicyLogicPossitive + const PolicyTypeUser + func CreatePermission(ctx context.Context, clientsEndpoint string, clientID string, ...) (string, error) + func CreatePolicy(ctx context.Context, clientsEndpoint string, clientID string, ...) (string, error) + func CreateResource(ctx context.Context, resource KeycloakResource, authzEndpoint string, ...) (string, error) + func DeletePermission(ctx context.Context, clientsEndpoint string, clientID string, ...) error + func DeletePolicy(ctx context.Context, clientsEndpoint string, clientID string, policyID string, ...) error + func DeleteResource(ctx context.Context, kcResourceID string, authzEndpoint string, ...) error + func GetClientID(ctx context.Context, clientsEndpoint string, publicClientID string, ...) (string, error) + func GetEntitlement(ctx context.Context, entitlementEndpoint string, ...) (*string, error) + func GetProtectedAPIToken(openidConnectTokenURL string, clientID string, clientSecret string) (string, error) + func UpdatePolicy(ctx context.Context, clientsEndpoint string, clientID string, ...) error + func ValidateKeycloakUser(ctx context.Context, adminEndpoint string, userID, protectionAPIToken string) (bool, error) + func VerifyResourceUser(ctx context.Context, token string, resourceName string, ...) (bool, error) + type AuthzPolicyManager interface + AddUserToPolicy func(p *KeycloakPolicy, userID string) bool + GetPolicy func(ctx context.Context, request *goa.RequestData, policyID string) (*KeycloakPolicy, *string, error) + RemoveUserFromPolicy func(p *KeycloakPolicy, userID string) bool + UpdatePolicy func(ctx context.Context, request *goa.RequestData, policy KeycloakPolicy, ...) error + type AuthzResourceManager interface + CreateResource func(ctx context.Context, request *goa.RequestData, name string, rType string, ...) (*Resource, error) + DeleteResource func(ctx context.Context, request *goa.RequestData, resource Resource) error + type EntitlementResource struct + Permissions []ResourceSet + type GormOauthStateReferenceRepository struct + func NewOauthStateReferenceRepository(db *gorm.DB) *GormOauthStateReferenceRepository + func (r *GormOauthStateReferenceRepository) Create(ctx context.Context, reference *OauthStateReference) (*OauthStateReference, error) + func (r *GormOauthStateReferenceRepository) Delete(ctx context.Context, ID uuid.UUID) error + func (r *GormOauthStateReferenceRepository) Load(ctx context.Context, id uuid.UUID) (*OauthStateReference, error) + type KeycloakConfiguration interface + GetKeycloakClientID func() string + GetKeycloakEndpointAdmin func(*goa.RequestData) (string, error) + GetKeycloakEndpointAuthzResourceset func(*goa.RequestData) (string, error) + GetKeycloakEndpointClients func(*goa.RequestData) (string, error) + GetKeycloakEndpointEntitlement func(*goa.RequestData) (string, error) + GetKeycloakEndpointToken func(*goa.RequestData) (string, error) + GetKeycloakSecret func() string + type KeycloakPermission struct + Config PermissionConfigData + DecisionStrategy string + ID *string + Logic string + Name string + Type string + type KeycloakPolicy struct + Config PolicyConfigData + DecisionStrategy string + ID *string + Logic string + Name string + Type string + func GetPolicy(ctx context.Context, clientsEndpoint string, clientID string, policyID string, ...) (*KeycloakPolicy, error) + func (p *KeycloakPolicy) AddUserToPolicy(userID string) bool + func (p *KeycloakPolicy) RemoveUserFromPolicy(userID string) bool + type KeycloakPolicyManager struct + func NewKeycloakPolicyManager(config KeycloakConfiguration) *KeycloakPolicyManager + func (m *KeycloakPolicyManager) AddUserToPolicy(p *KeycloakPolicy, userID string) bool + func (m *KeycloakPolicyManager) GetPolicy(ctx context.Context, request *goa.RequestData, policyID string) (*KeycloakPolicy, *string, error) + func (m *KeycloakPolicyManager) RemoveUserFromPolicy(p *KeycloakPolicy, userID string) bool + func (m *KeycloakPolicyManager) UpdatePolicy(ctx context.Context, request *goa.RequestData, policy KeycloakPolicy, ...) error + type KeycloakResource struct + Name string + Owner *string + Scopes *[]string + Type string + URI *string + type KeycloakResourceManager struct + func NewKeycloakResourceManager(config KeycloakConfiguration) *KeycloakResourceManager + func (m *KeycloakResourceManager) CreateResource(ctx context.Context, request *goa.RequestData, name string, rType string, ...) (*Resource, error) + func (m *KeycloakResourceManager) DeleteResource(ctx context.Context, request *goa.RequestData, resource Resource) error + type OauthStateReference struct + ID uuid.UUID + Referrer string + func (r OauthStateReference) Equal(u convert.Equaler) bool + func (r OauthStateReference) TableName() string + type OauthStateReferenceRepository interface + Create func(ctx context.Context, state *OauthStateReference) (*OauthStateReference, error) + Delete func(ctx context.Context, ID uuid.UUID) error + Load func(ctx context.Context, ID uuid.UUID) (*OauthStateReference, error) + type PermissionConfigData struct + ApplyPolicies string + Resources string + type PolicyConfigData struct + UserIDs string + type Resource struct + PermissionID string + PolicyID string + ResourceID string + type ResourceSet struct + ID *string + Name string + type Token struct + AccessToken *string + ExpiresIn *int64 + NotBeforePolicy *int64 + RefreshExpiresIn *int64 + RefreshToken *string + TokenType *string + func ReadToken(res *http.Response) (*Token, error) + type UserInfo struct + Email string + FamilyName string + GivenName string + Name string + PreferredUsername string + Sub string + func GetUserInfo(ctx context.Context, userInfoEndpoint string, userAccessToken string) (*UserInfo, error)