2017-11-28 4 views
0

나는이Hapi js 인증 스키마 구현 오류/버그?

const schemeImplementation = (server, options) => { 
    return { 
    authenticate: (request, reply) => { 
     authenticate(request) 
     .then((credentials) => { 
     return reply.continue({ credentials }); 
     }) 
     .catch((err) => { 
     // not returning any response instead of timeout 
     return reply(err); 
     }); 
    } 
    }; 
}; 

같은 내가 제대로 오류 응답을 반환 기대하고

handler: (req, reply) => { 
    throw new Error('This shouldn\'t lead to a timeout'); 
} 

경로 처리기에서 인증 스키마를 구현해야합니다. Hapi와 함께 이전에 이것을 경험 한 사람이 있습니까?

참고 : 동기 예외를 던질 때에만 발생 심판 : https://hapijs.com/api#authentication-scheme

답변

0

이 IMO, 더 나은 방법은 붐 플러그인을 통해 실패를 재전송 할 수 있습니다. 나는 다음과 같이 사용하고있다 : -

const schemeImplementation = (server, options) => { 
    return { 
    authenticate: (request, reply) => { 
     authenticate(request) 
     .then((credentials) => { 
     return reply.continue({ credentials }); 
     }) 
     .catch((err) => { 
     // this way it will directly return the error to client and would not go handler 
     reply(Boom.badGateway(err)); 
     }); 
    } 
    }; 
};