dwyl / hapi-auth-jwt2

:lock: Secure Hapi.js authentication plugin using JSON Web Tokens (JWT) in Headers, URL or Cookies
ISC License
798 stars 126 forks source link

Getting errors during registering hapi-auth-jwt2 while Using hapi.js 20 server #372

Open abhilashdkadv opened 1 year ago

abhilashdkadv commented 1 year ago

I am facing issues registering hapi-auth-jwt2 plugin in Hapi Server. We are upgrading from v16 to latest. Here is my register code:

const server = new Hapi.Server({
  host: '0.0.0.0',
  port: process.env.PORT
})
const start = async function () {

  await server.register({
      plugin: require('hapi-auth-jwt2'),
      options: {
        name: 'hapi-auth-jwt-2'
      }
  });
  server.auth.strategy('jwt', 'jwt',
    {
      key: Buffer.from(jwtSecret, 'base64'),
      validate: validate,
      verifyOptions: { algorithms: [ 'HS256' ] }
    })
    server.auth.default('jwt')
    server.route([//routes removed for clarity])
};  
start();
module.exports = () => {
  return server;
}

In another file we are importing and trying to start server

var server = require('./server')()
server.start().then(() => {})

But when I run I am getting "UnhandledPromiseRejectionWarning: Error: Cannot start server before plugins finished registration"

How to register hapi-auth-jwt2 successfully in the latest hapi version.