Ошибка Node / Express / Swagger при использовании аутентификации Bearer - PullRequest
0 голосов
/ 10 апреля 2019

Я создаю приложение Node / Express / Swagger, используя swagger-express-mw , и я настроил аутентификацию Bearer, используя шаги здесь

Мой авторизацияздесь можно найти помощника , и в моем случае единственным отличием от учебника является то, что в моем файле app.js есть следующее:

var config = {
  appRoot: __dirname, // required config
  swaggerSecurityHandlers: {
    Bearer: auth.verifyToken
  }
};

Вместо этого:

app.use(middleware.swaggerSecurity({
    //manage token function in the 'auth' module
    Bearer: auth.verifyToken
}));

Когда я делаю запрос, используя Почтальон с заголовком авторизации, все работает как положено, однако, если я опускаю заголовок (для имитации несанкционированных запросов), я получаю эту ошибку:

Error: Can't set headers after they are sent.
at validateHeader (_http_outgoing.js:491:11)
at ServerResponse.setHeader (_http_outgoing.js:498:3)
at /Library/WebServer/Documents/node/checkout.harperconcierge.com/node_modules/swagger-node-runner/lib/connect_middleware.js:62:24
at /Library/WebServer/Documents/node/checkout.harperconcierge.com/node_modules/lodash/index.js:3073:15
at baseForOwn (/Library/WebServer/Documents/node/checkout.harperconcierge.com/node_modules/lodash/index.js:2046:14)
at /Library/WebServer/Documents/node/checkout.harperconcierge.com/node_modules/lodash/index.js:3043:18
at Function.<anonymous> (/Library/WebServer/Documents/node/checkout.harperconcierge.com/node_modules/lodash/index.js:3346:13)
at Runner.finishConnect (/Library/WebServer/Documents/node/checkout.harperconcierge.com/node_modules/swagger-node-runner/lib/connect_middleware.js:61:15)

Любые идеи покак решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...