app.js 785 B

12345678910111213141516171819202122232425
  1. 'use strict';
  2. const safeRedirect = require('./lib/safe_redirect');
  3. const utils = require('./lib/utils');
  4. const assert = require('assert');
  5. module.exports = app => {
  6. app.config.coreMiddleware.push('securities');
  7. if (app.config.security.csrf && app.config.security.csrf.enable) {
  8. const { ignoreJSON, type } = app.config.security.csrf;
  9. if (ignoreJSON) {
  10. app.deprecate('[egg-security] `app.config.security.csrf.ignoreJSON` is not safe now, please disable it.');
  11. }
  12. const legalTypes = [ 'all', 'referer', 'ctoken', 'any' ];
  13. assert(legalTypes.includes(type),
  14. '[egg-security] `config.security.csrf.type` must be one of ' + legalTypes.join(', '));
  15. }
  16. // patch response.redirect
  17. safeRedirect(app);
  18. utils.preprocessConfig(app.config.security);
  19. };