Я пытался реализовать базовую стратегию аутентификации на основе учебника, который нашел. Вот так моя окончательная настройка для server.js
файла.
'use strict';
const Hapi=require('hapi');
const sequelize = require('sequelize');
const models = require('./models');
const routes = require('./services/routes');
// Create a server with a host and port
const server=Hapi.server({
host:'localhost',
port:3100
});
// Add the route
server.register(require('hapi-auth-basic'), function (err) {
if(err) { throw err; }
server.auth.strategy('simple', 'basic', {
validateFunc: function (username, password, callback) {
if (username === 'admin') {
return callback(null, true, {scope: 'admin'}); // They're an `admin
if (username === 'user') {
return callback(null, true, {scope: 'user'}); // They're a `user` }
return callback(null, false); }
});
server.route(routes);
// Start the server
/*models.sequelize.sync().then( function () {*/
const start = async function () {
try {
await server.start();
}
catch (err) {
console.log(err);
process.exit(1);
}
console.log('Server running at:', server.info.uri);
};
start();
/*
})*/
});
Во время работы npm start
я получаю следующую ошибку:
(узел: 7468) UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо из-за того, что внутри асинхронной функции возникла ошибка без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch ().
(идентификатор отклонения: 1)
(узел: 7468) [DEP0018] Предупреждение об устаревании: отклонение необработанного обещания устарело. В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения.
Я действительно новичок в узле / хапи, поэтому не могу понять, что не так. И правильно ли я реализовал стратегию аутентификации?