|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # egg-cors
-
- [![NPM version][npm-image]][npm-url]
- [![build status][travis-image]][travis-url]
- [![Test coverage][codecov-image]][codecov-url]
- [![David deps][david-image]][david-url]
- [![Known Vulnerabilities][snyk-image]][snyk-url]
- [![npm download][download-image]][download-url]
-
- [npm-image]: https://img.shields.io/npm/v/egg-cors.svg?style=flat-square
- [npm-url]: https://npmjs.org/package/egg-cors
- [travis-image]: https://img.shields.io/travis/eggjs/egg-cors.svg?style=flat-square
- [travis-url]: https://travis-ci.org/eggjs/egg-cors
- [codecov-image]: https://codecov.io/github/eggjs/egg-cors/coverage.svg?branch=master
- [codecov-url]: https://codecov.io/github/eggjs/egg-cors?branch=master
- [david-image]: https://img.shields.io/david/eggjs/egg-cors.svg?style=flat-square
- [david-url]: https://david-dm.org/eggjs/egg-cors
- [snyk-image]: https://snyk.io/test/npm/egg-cors/badge.svg?style=flat-square
- [snyk-url]: https://snyk.io/test/npm/egg-cors
- [download-image]: https://img.shields.io/npm/dm/egg-cors.svg?style=flat-square
- [download-url]: https://npmjs.org/package/egg-cors
-
- [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS) plugin for egg, based on [@koa/cors](https://github.com/koajs/cors).
-
- ## Install
-
- ```bash
- $ npm i egg-cors --save
- ```
-
- ## Usage
-
- ```js
- // {app_root}/config/plugin.js
- exports.cors = {
- enable: true,
- package: 'egg-cors',
- };
- ```
-
- `egg-cors` works internally with [egg-security](https://github.com/eggjs/egg-security). By defining the property of `domainWhiteList` on object `security`, you have successfully informed the framework to whitelist the passed domains.
-
- When you make a request from client side, **egg** should return an `Access-Control-Allow-Origin` response header with the domain that you passed in along with the payload and status code *200*.
-
- ```js
- exports.security = {
- domainWhiteList: [ 'http://localhost:4200' ],
- };
- ```
-
- ## Configuration
-
- Support all configurations in [@koa/cors](https://github.com/koajs/cors).
-
- ```js
- // {app_root}/config/config.default.js
- exports.cors = {
- // {string|Function} origin: '*',
- // {string|Array} allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH'
- };
- ```
-
- If the `origin` is set, the plugin will follow it to set the `Access-Control-Allow-Origin` and ignore the `security.domainWhiteList`. Otherwise, the `security.domainWhiteList` which is default will take effect as described above.
-
- ## Security
-
- Only in safe domain list support CORS when security plugin enabled.
-
- ## Questions & Suggestions
-
- Please open an issue [here](https://github.com/eggjs/egg/issues).
-
- ## License
-
- [MIT](LICENSE)
|