Не удается прочитать .Sign неопределенной ошибки, выдаваемой с Fastify - PullRequest
0 голосов
/ 24 октября 2019

Я создаю свой сервер следующим образом:

const createServer = options => {
  const { logSeverity } = options;

  const server = Fastify({
    ignoreTrailingSlash: true
  });


  server.listen(5000, err => {
    if (err) {
      server.log.error(err);
      console.log(err);
      process.exit(1);
    }
  });

  server.register(AutoLoad, {
    dir: path.join(__dirname, "api", "routes")
  });

  server.register(jwt, {
    secret: nconf.get("secrets.jwt")
  });
};

И в одном из моих модулей на ./some/child/path/signToken.js я делаю:

const nconf = require("nconf");
const jwt = require("fastify-jwt");

const signToken = payload => {
  fastify.jwt.sign(payload, nconf.get("secrets.jwt"), (err, token) => {
    if (err) throw err;

    const response = {
      userId: payload.user._id,
      username: payload.user.username,
      token
    };

    return response;
  });
};

module.exports = { signToken };

, который выдает ошибку, Cannot read property 'sign' of undefined.

Согласно документам ,

This will decorate your fastify instance with the standard jsonwebtoken methods

Что я здесь не так делаю? Возможно, это невозможно, потому что я создаю сервер, а сервер - мой экземпляр fastify? Должен ли я тогда импортировать server как-нибудь?

...