Мне нужно сделать некоторую дополнительную аутентификацию в нескольких моих обработчиках. Есть ли способ сделать это способом?Как я могу составить обработчик Hapijs?
export async function handler(request) {
const user = request.auth.credentials;
const customer = FindCustomer(user);
if (!customer) {
throw Boom.forbidden('user is not a customer');
}
if (!customer.verified) {
throw Boom.forbidden('customer not validated');
}
// actual handler logic
}
Есть ли способ обернуть это, чтобы некоторые маршруты уже обеспечивали клиента в объекте запроса?
Что Auth плагин вы используете? – ZeMoon
Хотя оба варианта ниже действительны, я просто пошел с проверкой его в коде обработчика. Это кажется очевидным и прямым, serverExtensions, хотя и круто, не очень очевидны для других, читающих код. – sheki
Я бы установил стратегию аутентификации и потребовал их через объект config.auth на маршрутах. – manonthemat