passport-jwt ExtractJwt.fromHeader 문제
가끔은 Authorization: Bearer token
이 아닌 다른 헤더에서 JWT를 받아야 하는 경우가 생긴다. 다행히 passport-jwt에서는 ExtractJwt에 여러가지 옵션을 제공한다. 들어가기 전에, 사용할 수 있는 옵션이 궁금하다면 이곳을 참고해보자.
문제점
헤더에서 받아야하므로 fromHeader
옵션을 사용했지만, 이상하게 적었는데도 받지 못하는 것이였다.
ExtractJwt.fromHeader('X-Header-Name')
401 오류만 뜨고 strategy validate 함수는 실행조차 되지 않는 듯 하다.
해결책
ExtractJwt.fromHeader('x-header-name')
놀랍게도… 소문자로 적어주니 해결되었다.
이전에 브라우저에서 헤더를 일괄적으로 소문자로 보내는 것을 본 적이 있는데, 그 것의 영향인지 모르겠다.