UNPKG

sails

Version:

API-driven framework for building realtime apps, using MVC conventions (based on Express and Socket.io)

69 lines (33 loc) 2.25 kB
# security (Core Hook) ## Status > ##### Stability: [2](https://github.com/balderdashy/sails-docs/blob/master/contributing/stability-index.md) - Stable ## Dependencies In order for this hook to load, the following other hooks must have already finished loading: - moduleloader - userconfig ## Dependents If this hook is disabled, in order for Sails to load, the following other core hooks must also be disabled: _N/A_ ## Purpose This hook's responsibilities are: ##### Bind shadow routes to set appropriate CORS headers When Sails loads, this hook binds a `router:before` listener so that it can bind routes before the router binds explicit routes. Then it binds shadow routes for the appropriate endpoints based on `sails.config.cors` (also mixing in its implicit defaults). ##### Sets up CRSF action It generates `security/grant-csrf-token` action ## Implicit Defaults This hook sets the following implicit default configuration on `sails.config.security`: | Property | Type | Default | |-----------------------------------------------|:-------------:|-----------------| | `sails.config.security.cors.allowOrigins` | ((string)) | `'*'` | `sails.config.security.cors.allRoutes` | ((boolean)) | `false` | `sails.config.security.cors.allowCredentials` | ((boolean)) | `false` | `sails.config.security.cors.allowRequestMethods` | ((string)) | `'GET, HEAD, PUT, PATCH, POST, DELETE'` | `sails.config.security.cors.allowRequestHeaders` | ((string)) | `'content-type'` | `sails.config.security.cors.allowResponseHeaders` | ((string)) | `''` _(empty string)_ | `sails.config.security.cors.allowAnyOriginWithCredentialsUnsafe` | ((boolean)) | `false` | `sails.config.security.csrf` | ((boolean)) | `false` ## Events ##### `hook:security:loaded` Emitted when this hook has been automatically loaded by Sails core, and triggered the callback in its `initialize` function. ## FAQ > If you have a question that isn't covered here, please feel free to send a PR adding it to this section (even if you don't have the answer!)