You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425
  1. const Schwifty = require('@hapipal/schwifty');
  2. const Jwt = require('@hapi/jwt');
  3. const JwtStrategy = require('../auth/strategies/jwt')
  4. const UserModel = require('../models/user');
  5. const UserCurrentRoute = require('../routes/user/current');
  6. const UserLoginRoute = require('../routes/user/login');
  7. module.exports = {
  8. name: 'user-plugin',
  9. version: '1.0.0',
  10. register: async (server, options) => {
  11. await server.register(Jwt)
  12. await server.register(Schwifty)
  13. await server.registerModel(UserModel)
  14. const mainApp = server.registrations['main-app-plugin']
  15. const jwtOptions = JwtStrategy(mainApp.options)
  16. server.auth.strategy('default_jwt', 'jwt', jwtOptions)
  17. server.auth.default('default_jwt')
  18. await server.route(UserCurrentRoute)
  19. await server.route(UserLoginRoute)
  20. }
  21. }