如何在adonis js中配置cors

时间:2019-04-27 06:45:07

标签: adonis.js

如何在开发和生产中以不同的来源配置cors?

这是默认的cors配置文件的样子

module.exports = {
  /*
  |--------------------------------------------------------------------------
  | Origin
  |--------------------------------------------------------------------------
  |
  | Set a list of origins to be allowed. The value can be one of the following
  |
  | Boolean: true - Allow current request origin
  | Boolean: false - Disallow all
  | String - Comma separated list of allowed origins
  | Array - An array of allowed origins
  | String: * - A wildcard to allow current request origin
  | Function - Receives the current origin and should return one of the above values.
  |
  */
  origin: false,

  /*
}

1 个答案:

答案 0 :(得分:1)

您只需检查您的NODE_ENV Environment variable。然后检查是否设置了此变量,例如用于生产或开发。

基于CORS Documentation,您可以返回一个函数。因此,我将检查当前环境,然后返回CORS属性。在您的cors.js中,您会遇到类似的情况

const Env = use('Env')
...
...
origin: function (currentOrigin) {
  if(Env.get('NODE_ENV​') === 'production' {
    return currentOrigin === 'mywebsite.com'
  } else {
    true
  }
}

如果NODE_ENV设置为 production ,则仅允许来自“ mywebsite.com”的流量,否则所有流量(用于开发)。