Documentation
¶
Index ¶
- Constants
- func APIKeyAuthMiddleware(h http.Handler, headerName string, clients map[string]string) http.Handler
- func APIKeyAuthenticatedTenantFromContext(ctx context.Context) *string
- func Limiter(h http.Handler, tenantGetter scimserverlite.TenantGetter, r rate.Limit, b int) http.Handler
- func Main(ext Extension)
- func PanicReportTimeoutHandler(h http.Handler, dt time.Duration, msg string) http.Handler
- type Extension
Constants ¶
View Source
const ( CNFMDURL = "MetadataURL" CNFMDDefaultCacheTTL = "MetadataDefaultCacheTTL" CNFMDNetworkRetry = "MetadataNetworkRetry" CNFMDBadContentRetry = "MetadataBadContentRetry" CNFMDCachePath = "MetadataCachePath" CNFReadHeaderTimeout = "ReadHeaderTimeout" CNFReadTimeout = "ReadTimeout" CNFWriteTimeout = "WriteTimeout" CNFIdleTimeout = "IdleTimeout" CNFBackendTimeout = "BackendTimeout" CNFEnableLimiting = "EnableLimiting" CNFLimitRequestsPerSecond = "LimitRequestsPerSecond" CNFLimitBurst = "LimitBurst" CNFStorageType = "StorageType" CNFStorageSource = "StorageSource" CNFAccessLogPath = "AccessLogPath" CNFJWKSPath = "JWKSPath" CNFCert = "Cert" CNFKey = "Key" CNFListenAddress = "ListenAddress" CNFAdminListenAddress = "AdminListenAddress" CNFMDEntityID = "MetadataEntityID" CNFMDBaseURI = "MetadataBaseURI" CNFMDOrganization = "MetadataOrganization" CNFMDOrganizationID = "MetadataOrganizationID" CNFValidateUUID = "ValidateUUID" CNFValidateSchoolUnitCode = "ValidateSchoolUnitCode" CNFLogFilePath = "LogPath" CNFSkolsynkListenAddress = "SkolsynkListenAddress" CNFSkolsynkAuthHeader = "SkolsynkAuthHeader" CNFSkolsynkCert = "SkolsynkCert" CNFSkolsynkKey = "SkolsynkKey" CNFSkolsynkClients = "SkolsynkClients" )
Configuration parameters
Variables ¶
This section is empty.
Functions ¶
func APIKeyAuthMiddleware ¶
func APIKeyAuthMiddleware(h http.Handler, headerName string, clients map[string]string) http.Handler
APIKeyAuthMiddleware provides authentication middleware for API keys. headerName is the HTTP header to use for the API key. clients is a map from tenant names to API keys.
func APIKeyAuthenticatedTenantFromContext ¶
Gets the tenant from context if the client has authenticated with API key Returns nil if the client hasn't authenticated with API key
Types ¶
type Extension ¶
type Extension interface {
ParametersOfInterest() []string
Start(parameters map[string]interface{}, w *windermere.Windermere)
Stop()
}
Click to show internal directories.
Click to hide internal directories.