Documentation
¶
Index ¶
- Constants
- func WorkerHandlerRouter(worker *foulkon.Worker) http.Handler
- func WriteHttpResponse(r *http.Request, w http.ResponseWriter, requestId string, userId string, ...)
- type AuthConnectorConfig
- type AuthorizeResourcesRequest
- type AuthorizeResourcesResponse
- type Config
- type CreateGroupRequest
- type CreateOidcProviderRequest
- type CreatePolicyRequest
- type CreateProxyResourceRequest
- type CreateUserRequest
- type DatabaseConfig
- type GetGroupsByUserIdResponse
- type GetUserExternalIDsResponse
- type ListAllGroupsResponse
- type ListAllPoliciesResponse
- type ListAttachedGroupPoliciesResponse
- type ListAttachedGroupsResponse
- type ListGroupsResponse
- type ListMembersResponse
- type ListOidcProvidersResponse
- type ListPoliciesResponse
- type ListProxyResourcesResponse
- type LoggerConfig
- type ProxyHandler
- type ProxyResources
- type ProxyServer
- type ReloadHandlerFunc
- type Server
- type UpdateGroupRequest
- type UpdateOidcProviderRequest
- type UpdatePolicyRequest
- type UpdateProxyResourceRequest
- type UpdateUserRequest
- type WorkerHandler
- func (wh *WorkerHandler) HandleAddGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleAddMember(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleAddOidcProvider(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
- func (wh *WorkerHandler) HandleAddPolicy(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleAddProxyResource(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleAddUser(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
- func (wh *WorkerHandler) HandleAttachPolicyToGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleDetachPolicyToGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleGetAuthorizedExternalResources(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
- func (wh *WorkerHandler) HandleGetCurrentConfig(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleGetGroupByName(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleGetOidcProviderByName(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleGetPolicyByName(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleGetProxyResourceByName(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleGetUserByExternalID(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListAllGroups(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListAllPolicies(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListAttachedGroupPolicies(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListAttachedGroups(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListGroups(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListGroupsByUser(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListMembers(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListOidcProviders(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListPolicies(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListProxyResource(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleListUsers(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleRemoveGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleRemoveMember(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleRemoveOidcProvider(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleRemovePolicy(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleRemoveProxyResource(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleRemoveUser(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleUpdateGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleUpdateOidcProvider(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleUpdatePolicy(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleUpdateProxyResource(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func (wh *WorkerHandler) HandleUpdateUser(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- type WorkerServer
Constants ¶
View Source
const ( // Constants for values in url USER_ID = "userid" GROUP_NAME = "groupname" POLICY_NAME = "policyname" PROXY_RESOURCE_NAME = "proxyresourcename" AUTH_PROVIDER_NAME = "authprovidername" ORG_NAME = "orgname" // URI Path param prefix URI_PATH_PREFIX = "/:" // API root reference API_ROOT = "/api" API_VERSION_1 = API_ROOT + "/v1" // Organization API ROOT ORG_ROOT = "/organizations/:" + ORG_NAME // User API urls USER_ROOT_URL = API_VERSION_1 + "/users" USER_ID_URL = USER_ROOT_URL + URI_PATH_PREFIX + USER_ID USER_ID_GROUPS_URL = USER_ID_URL + "/groups" // Group organization API urls GROUP_ORG_ROOT_URL = API_VERSION_1 + ORG_ROOT + "/groups" GROUP_ID_URL = GROUP_ORG_ROOT_URL + URI_PATH_PREFIX + GROUP_NAME GROUP_ID_USERS_URL = GROUP_ID_URL + "/users" GROUP_ID_USERS_ID_URL = GROUP_ID_USERS_URL + URI_PATH_PREFIX + USER_ID GROUP_ID_POLICIES_URL = GROUP_ID_URL + "/policies" GROUP_ID_POLICIES_ID_URL = GROUP_ID_POLICIES_URL + URI_PATH_PREFIX + POLICY_NAME // Policy API urls POLICY_ROOT_URL = API_VERSION_1 + ORG_ROOT + "/policies" POLICY_ID_URL = POLICY_ROOT_URL + URI_PATH_PREFIX + POLICY_NAME POLICY_ID_GROUPS_URL = POLICY_ROOT_URL + URI_PATH_PREFIX + POLICY_NAME + "/groups" // Proxy resource API urls PROXY_RESOURCE_ROOT_URL = API_VERSION_1 + ORG_ROOT + "/proxy-resources" PROXY_RESOURCE_ID_URL = PROXY_RESOURCE_ROOT_URL + URI_PATH_PREFIX + PROXY_RESOURCE_NAME // Authorization URLs RESOURCE_URL = API_VERSION_1 + "/resource" // Admin URLs ADMIN_ROOT = "/admin" // Admin OIDC Authentication API URLs OIDC_AUTH_ROOT_URL = API_VERSION_1 + ADMIN_ROOT + "/auth/oidc/providers" OIDC_AUTH_ID_URL = OIDC_AUTH_ROOT_URL + URI_PATH_PREFIX + AUTH_PROVIDER_NAME // Foulkon configuration URL ABOUT = "/about" )
View Source
const ( // Proxy error codes INVALID_DEST_HOST_URL = "InvalidDestinationHostURL" HOST_UNREACHABLE = "HostUnreachableError" INTERNAL_SERVER_ERROR = "InternalServerError" BAD_REQUEST = "BadRequest" FORBIDDEN_ERROR = "ForbiddenError" )
Variables ¶
This section is empty.
Functions ¶
func WorkerHandlerRouter ¶
WorkerHandlerRouter returns http.Handler for the APIs.
func WriteHttpResponse ¶ added in v0.3.0
func WriteHttpResponse(r *http.Request, w http.ResponseWriter, requestId string, userId string, statusCode int, value interface{})
WriteHttpResponse fill a http response with data, controlling marshalling errors
Types ¶
type AuthConnectorConfig ¶ added in v0.3.0
type AuthConnectorConfig struct { Type string `json:"type,omitempty"` OidcProviders []api.OidcProvider `json:"oidcProviders,omitempty"` }
type AuthorizeResourcesResponse ¶
type AuthorizeResourcesResponse struct {
ResourcesAllowed []string `json:"resourcesAllowed,omitempty"`
}
type Config ¶ added in v0.3.0
type Config struct { Logger LoggerConfig `json:"logger,omitempty"` Database DatabaseConfig `json:"database,omitempty"` AuthConnector AuthConnectorConfig `json:"authenticator,omitempty"` Version string `json:"version,omitempty"` }
type CreateGroupRequest ¶
type CreateOidcProviderRequest ¶ added in v0.4.0
type CreatePolicyRequest ¶
type CreateProxyResourceRequest ¶ added in v0.3.0
type CreateProxyResourceRequest struct { Name string `json:"name,omitempty"` Path string `json:"path,omitempty"` Resource api.ResourceEntity `json:"resource,omitempty"` }
type CreateUserRequest ¶
type DatabaseConfig ¶ added in v0.3.0
type GetGroupsByUserIdResponse ¶
type GetGroupsByUserIdResponse struct { Groups []api.UserGroups `json:"groups,omitempty"` Limit int `json:"limit"` Offset int `json:"offset"` Total int `json:"total"` }
type ListAllGroupsResponse ¶
type ListAllGroupsResponse struct { Groups []api.GroupIdentity `json:"groups,omitempty"` Limit int `json:"limit"` Offset int `json:"offset"` Total int `json:"total"` }
type ListAllPoliciesResponse ¶
type ListAllPoliciesResponse struct { Policies []api.PolicyIdentity `json:"policies,omitempty"` Limit int `json:"limit"` Offset int `json:"offset"` Total int `json:"total"` }
type ListAttachedGroupPoliciesResponse ¶
type ListAttachedGroupPoliciesResponse struct { AttachedPolicies []api.GroupPolicies `json:"policies,omitempty"` Limit int `json:"limit"` Offset int `json:"offset"` Total int `json:"total"` }
type ListAttachedGroupsResponse ¶
type ListAttachedGroupsResponse struct { Groups []api.PolicyGroups `json:"groups,omitempty"` Limit int `json:"limit"` Offset int `json:"offset"` Total int `json:"total"` }
type ListGroupsResponse ¶
type ListMembersResponse ¶
type ListMembersResponse struct { Members []api.GroupMembers `json:"members,omitempty"` Limit int `json:"limit"` Offset int `json:"offset"` Total int `json:"total"` }
type ListOidcProvidersResponse ¶ added in v0.4.0
type ListPoliciesResponse ¶
type ListProxyResourcesResponse ¶ added in v0.3.0
type LoggerConfig ¶ added in v0.3.0
type ProxyHandler ¶
type ProxyHandler struct {
// contains filtered or unexported fields
}
func (*ProxyHandler) HandleRequest ¶
func (ph *ProxyHandler) HandleRequest(proxyResource api.ProxyResource) httprouter.Handle
type ProxyResources ¶ added in v0.3.0
type ProxyResources struct {
Resources []api.ProxyResource `json:"resources,omitempty"`
}
type ProxyServer ¶ added in v0.3.0
ProxyServer struct with reload Handler extension
func (*ProxyServer) Configuration ¶ added in v0.3.0
func (ps *ProxyServer) Configuration() error
Configuration an HTTP ProxyServer with a given address
func (*ProxyServer) RefreshResources ¶ added in v0.3.0
func (ps *ProxyServer) RefreshResources(proxy *foulkon.Proxy) func(s *ProxyServer) bool
RefreshResources implements reloadFunc
func (*ProxyServer) Run ¶ added in v0.3.0
func (ps *ProxyServer) Run() error
Run starts an HTTP ProxyServer
type ReloadHandlerFunc ¶ added in v0.3.0
type ReloadHandlerFunc func(watch *ProxyServer) bool
type Server ¶ added in v0.3.0
Server interface that WorkerServer and ProxyServer have to implement
type UpdateGroupRequest ¶
type UpdateOidcProviderRequest ¶ added in v0.4.0
type UpdatePolicyRequest ¶
type UpdateProxyResourceRequest ¶ added in v0.3.0
type UpdateProxyResourceRequest struct { Name string `json:"name,omitempty"` Path string `json:"path,omitempty"` Resource api.ResourceEntity `json:"resource,omitempty"` }
type UpdateUserRequest ¶
type UpdateUserRequest struct {
Path string `json:"path,omitempty"`
}
type WorkerHandler ¶
type WorkerHandler struct {
// contains filtered or unexported fields
}
func (*WorkerHandler) HandleAddGroup ¶
func (wh *WorkerHandler) HandleAddGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleAddMember ¶
func (wh *WorkerHandler) HandleAddMember(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleAddOidcProvider ¶ added in v0.4.0
func (wh *WorkerHandler) HandleAddOidcProvider(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
func (*WorkerHandler) HandleAddPolicy ¶
func (wh *WorkerHandler) HandleAddPolicy(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleAddProxyResource ¶ added in v0.3.0
func (wh *WorkerHandler) HandleAddProxyResource(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleAddUser ¶
func (wh *WorkerHandler) HandleAddUser(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
func (*WorkerHandler) HandleAttachPolicyToGroup ¶
func (wh *WorkerHandler) HandleAttachPolicyToGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleDetachPolicyToGroup ¶
func (wh *WorkerHandler) HandleDetachPolicyToGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleGetAuthorizedExternalResources ¶
func (wh *WorkerHandler) HandleGetAuthorizedExternalResources(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
func (*WorkerHandler) HandleGetCurrentConfig ¶ added in v0.3.0
func (wh *WorkerHandler) HandleGetCurrentConfig(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleGetGroupByName ¶
func (wh *WorkerHandler) HandleGetGroupByName(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleGetOidcProviderByName ¶ added in v0.4.0
func (wh *WorkerHandler) HandleGetOidcProviderByName(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleGetPolicyByName ¶
func (wh *WorkerHandler) HandleGetPolicyByName(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleGetProxyResourceByName ¶ added in v0.3.0
func (wh *WorkerHandler) HandleGetProxyResourceByName(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleGetUserByExternalID ¶
func (wh *WorkerHandler) HandleGetUserByExternalID(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListAllGroups ¶
func (wh *WorkerHandler) HandleListAllGroups(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListAllPolicies ¶
func (wh *WorkerHandler) HandleListAllPolicies(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListAttachedGroupPolicies ¶
func (wh *WorkerHandler) HandleListAttachedGroupPolicies(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListAttachedGroups ¶
func (wh *WorkerHandler) HandleListAttachedGroups(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListGroups ¶
func (wh *WorkerHandler) HandleListGroups(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListGroupsByUser ¶
func (wh *WorkerHandler) HandleListGroupsByUser(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListMembers ¶
func (wh *WorkerHandler) HandleListMembers(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListOidcProviders ¶ added in v0.4.0
func (wh *WorkerHandler) HandleListOidcProviders(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListPolicies ¶
func (wh *WorkerHandler) HandleListPolicies(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListProxyResource ¶ added in v0.3.0
func (wh *WorkerHandler) HandleListProxyResource(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleListUsers ¶
func (wh *WorkerHandler) HandleListUsers(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleRemoveGroup ¶
func (wh *WorkerHandler) HandleRemoveGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleRemoveMember ¶
func (wh *WorkerHandler) HandleRemoveMember(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleRemoveOidcProvider ¶ added in v0.4.0
func (wh *WorkerHandler) HandleRemoveOidcProvider(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleRemovePolicy ¶
func (wh *WorkerHandler) HandleRemovePolicy(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleRemoveProxyResource ¶ added in v0.3.0
func (wh *WorkerHandler) HandleRemoveProxyResource(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleRemoveUser ¶
func (wh *WorkerHandler) HandleRemoveUser(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleUpdateGroup ¶
func (wh *WorkerHandler) HandleUpdateGroup(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleUpdateOidcProvider ¶ added in v0.4.0
func (wh *WorkerHandler) HandleUpdateOidcProvider(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleUpdatePolicy ¶
func (wh *WorkerHandler) HandleUpdatePolicy(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleUpdateProxyResource ¶ added in v0.3.0
func (wh *WorkerHandler) HandleUpdateProxyResource(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
func (*WorkerHandler) HandleUpdateUser ¶
func (wh *WorkerHandler) HandleUpdateUser(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
type WorkerServer ¶ added in v0.3.0
WorkerServer struct
func (*WorkerServer) Configuration ¶ added in v0.3.0
func (ws *WorkerServer) Configuration() error
Configuration an HTTP WorkerServer
func (*WorkerServer) Run ¶ added in v0.3.0
func (ws *WorkerServer) Run() error
Run starts an HTTP WorkerServer
Click to show internal directories.
Click to hide internal directories.