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") 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) 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" 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" RouteActionRevokeSurfaceScope RouteAction = "surface.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" 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
Click to show internal directories.
Click to hide internal directories.