したがって、hapi rest api へのすべての http ルートで有効な api キーを確認したいと思います。APIトークンチェックに加えて、いくつかのルートで基本認証も行うため、認証プラグインを使用したくありません。私はエクスプレスでミドルウェアとしてこれを行うことに慣れていますが、hapi で正しい方法は何ですか?
これを実現するには、独自のプラグインを作成するか、代わりに server.ext を使用する必要がありますか?それとも、別の方法で行う必要がありますか?
これまでのところ、これは私がやった方法です
server.ext('onRequest', function (request, next) {
//make sure its https
if(request.headers['x-forwarded-proto'] && request.headers['x-forwarded-proto'] === "http") {
return next(Boom.badRequest('ssl is required'));
}
else
{
if (request.headers['x-api-key'] != apiToken) {
return next(Boom.unauthorized('api key is incorrect'));
}
else
{
next();
}
}
});