Help us shape the future of Go! Take the 2026 Go Developer Survey

websecurity

package
v0.6.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrOriginDenied        = errors.New("request origin is denied")
	ErrCSRFRequired        = errors.New("csrf token is required")
	ErrCSRFInvalid         = errors.New("csrf token is invalid")
	ErrRouteActionInvalid  = errors.New("route action is invalid")
	ErrRouteEffectInvalid  = errors.New("route effect is invalid")
	ErrOriginPolicyInvalid = errors.New("origin policy is invalid")
	ErrCSRFPolicyInvalid   = errors.New("csrf policy is invalid")
)

Functions

This section is empty.

Types

type CSRFPolicy added in v0.5.0

type CSRFPolicy string
const (
	CSRFPolicyNotRequired CSRFPolicy = "not_required"
	CSRFPolicyRequired    CSRFPolicy = "required"
)

func (CSRFPolicy) Valid added in v0.5.0

func (policy CSRFPolicy) Valid() bool

type Guard

type Guard interface {
	Authenticate(r *http.Request) (sessionctx.Context, error)
	ValidateOrigin(r *http.Request, session sessionctx.Context, policy OriginPolicy) error
	ValidateCSRF(r *http.Request, session sessionctx.Context, policy CSRFPolicy) error
	AuthorizeRoute(r *http.Request, session sessionctx.Context, action RouteAction, effect RouteEffect) error
}

type OriginPolicy added in v0.5.0

type OriginPolicy string
const OriginPolicyTrustedHost OriginPolicy = "trusted_host"

func (OriginPolicy) Valid added in v0.5.0

func (policy OriginPolicy) Valid() bool

type RouteAction added in v0.5.0

type RouteAction string

RouteAction identifies one host-authorized HTTP operation. The values form a closed contract so host products can implement an exhaustive authorization policy without matching raw paths.

const (
	RouteActionImportLocalPackage         RouteAction = "plugin.import_local_package"
	RouteActionInstallReleaseRef          RouteAction = "plugin.install_release_ref"
	RouteActionInspectExternalPackage     RouteAction = "plugin.inspect_external_package"
	RouteActionCommitExternalPackage      RouteAction = "plugin.commit_external_package"
	RouteActionQueryExternalPackageCommit RouteAction = "plugin.query_external_package_commit"
	RouteActionEnablePlugin               RouteAction = "plugin.enable"
	RouteActionDisablePlugin              RouteAction = "plugin.disable"
	RouteActionUninstallPlugin            RouteAction = "plugin.uninstall"
	RouteActionUpdateLocalPackage         RouteAction = "plugin.update_local_package"
	RouteActionUpdateReleaseRef           RouteAction = "plugin.update_release_ref"
	RouteActionDowngradePlugin            RouteAction = "plugin.downgrade"
	RouteActionListPlugins                RouteAction = "plugin.list"
	RouteActionListFeatures               RouteAction = "platform.list_features"
	RouteActionGetCompatibility           RouteAction = "platform.get_compatibility"
	RouteActionOpenSurface                RouteAction = "surface.open"
	RouteActionRevokeSessionScope         RouteAction = "session.revoke_scope"
	RouteActionPrepareSurface             RouteAction = "surface.prepare"
	RouteActionMintBridgeToken            RouteAction = "surface.mint_bridge_token"
	RouteActionReadSurfaceAsset           RouteAction = "surface.read_asset"
	RouteActionReadSurfaceStream          RouteAction = "surface.read_stream"
	RouteActionAcknowledgeSurfaceStream   RouteAction = "surface.acknowledge_stream"
	RouteActionCancelSurfaceOperation     RouteAction = "surface.cancel_operation"
	RouteActionRejectSurfaceConfirmation  RouteAction = "surface.reject_confirmation"
	RouteActionDisposeSurface             RouteAction = "surface.dispose"
	RouteActionCallPluginMethod           RouteAction = "plugin.call_method"
	RouteActionPrepareMethodConfirmation  RouteAction = "plugin.prepare_method_confirmation"
	RouteActionListIntents                RouteAction = "intent.list"
	RouteActionInvokeIntent               RouteAction = "intent.invoke"
	RouteActionListOperations             RouteAction = "operation.list"
	RouteActionGetOperation               RouteAction = "operation.get"
	RouteActionCancelOperation            RouteAction = "operation.cancel"
	RouteActionStartRuntime               RouteAction = "runtime.start"
	RouteActionStopRuntime                RouteAction = "runtime.stop"
	RouteActionRefreshEnabledRuntimeState RouteAction = "runtime.refresh_enabled"
	RouteActionGetRuntimeHealth           RouteAction = "runtime.get_health"
	RouteActionExportData                 RouteAction = "data.export"
	RouteActionDeleteDataExport           RouteAction = "data.delete_export"
	RouteActionImportData                 RouteAction = "data.import"
	RouteActionListRetainedData           RouteAction = "retained_data.list"
	RouteActionDeleteRetainedData         RouteAction = "retained_data.delete"
	RouteActionBindRetainedData           RouteAction = "retained_data.bind"
	RouteActionCleanupExpiredRetainedData RouteAction = "retained_data.cleanup_expired"
	RouteActionListPermissions            RouteAction = "permission.list"
	RouteActionGetPermissionRequirements  RouteAction = "permission.requirements.get"
	RouteActionGrantPermission            RouteAction = "permission.grant"
	RouteActionRevokePermission           RouteAction = "permission.revoke"
	RouteActionListSecurityPolicies       RouteAction = "security_policy.list"
	RouteActionGetSecurityPolicy          RouteAction = "security_policy.get"
	RouteActionPutSecurityPolicy          RouteAction = "security_policy.put"
	RouteActionDeleteSecurityPolicy       RouteAction = "security_policy.delete"
	RouteActionListDiagnostics            RouteAction = "diagnostic.list"
	RouteActionBindSecret                 RouteAction = "secret.bind"
	RouteActionTestSecret                 RouteAction = "secret.test"
	RouteActionDeleteSecret               RouteAction = "secret.delete"
	RouteActionGetSettingsSchema          RouteAction = "settings.get_schema"
	RouteActionGetSettings                RouteAction = "settings.get"
	RouteActionPatchSettings              RouteAction = "settings.patch"
)

func (RouteAction) Valid added in v0.5.0

func (action RouteAction) Valid() bool

type RouteEffect added in v0.6.0

type RouteEffect string

RouteEffect defines whether cancellation can leave a request outcome unknown. It is trusted route metadata and is never supplied by a caller.

const (
	RouteEffectQuery    RouteEffect = "query"
	RouteEffectMutation RouteEffect = "mutation"
)

func (RouteEffect) Valid added in v0.6.0

func (effect RouteEffect) Valid() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL