작성
·
475
0
강의를 보다 의문이 생겨서 질문 드립니다.
http.addFilterBefore(jwtAuthorizationRsaFilter(null), UsernamePasswordAuthenticationFilter.class);
필터를 등록하실 때 jwtAuthorizationRsaFIlter에 null을 주셨습니다.
@Bean
public JwtAuthorizationRsaFilter jwtAuthorizationRsaFilter(RSAKey rsaKey) throws JOSEException {
return new JwtAuthorizationRsaFilter(new RSASSAVerifier(rsaKey.toRSAPublicKey())); // 검증은 공개키
}
그러나 jwtAuthorizationRsaFIlter는 파라미터에 넘어온 rsaKey를 이용하여 공개키를 찾는데 이 rsaKey는 어디서 주입 받는 것인가요??
설정 클래스에 @Autowired는 모두 삭제한 것으로 알고 있습니다.
jwtAuthenticationFilter를 등록할 때 역시 같은 이유로 어디서 주입 받는지 잘 모르겠습니다.
답변해주셔서 감사합니다! 그러나 스프링에 대한 이해도가 낮은 탓인지 이해가 잘 안되는 부분이 있습니다. 빈으로 등록하더라도 OAuth2ResourceServer에서 따로 필드를 선언한 다음 (@Autowired private RSAKey rsaKey;)@Autowired 또는 생성자와 같은 방법으로 외부에서 주입받은 다음 파라미터로 넘겨야 되는거 아닌가요??