🚨에러노트

[Solved][Spring]the authorization header is malformed; the authorization component "..."is malformed

디카페인라떼 2022. 10. 22. 01:47
문제상황

Jasypt를 이용하여 properties를 암호화하고 난 뒤에 난 에러이다.

다른 DB 접근등은 모두 되었는데 S3 업로드 부분에서만 에러가 났다.

로그를 보니 인증 키가 복호화가 안되고 암호화된 상태를 읽고 있는 걸 확인 할 수 있다.

해결방법

👉 가설 확인을 위해서 암호화된 부분을 원래 키값으로 바꾸어주었더니 정상작동 하는걸 확인하였다.

 

그러면 어디서 복호화가 안되고 있는 걸까?

 

디버깅을 찍어보니 accesskey 와 secretkey 모두 잘 복호화 한 걸 확인할 수 있었다

 

S3 서비스에서 복호화된 내용을 끌어와서 사용해야 하는데 그걸 전혀 못해주고 있었다. 

원인은 @Bean 이었다.

 

2022.09.23 - [🌿SPRING/🌱연습[SPRING]] - [SPRING] [AWS] 게시글 이미지 업로드 하기 (1) - S3 설정하기

 

[SPRING] [AWS] 게시글 이미지 업로드 하기 (1) - S3 설정하기

이미지 업로드 부분을 계속 미뤄두다가 이젠 정말로 해야할 때가 왔다...... 일단은 개인프로젝트에 먼저 해보고나서 팀과제에 차차 구현해보려고 하는데 정말 어려웠다..........ㅠ aws S3 설정하기

wearegolden.tistory.com

 

처음에 설정할때는 @Bean 이 안되어서 임의로 @Autowired 로 바꾸어서 사용했었고, 실제로 작동도 잘되고 있었으나

이 둘은 엄연히 다른 내용이라 암호화 된 키 값이 그대로 들어오지 못했던 것이다

 


@Bean 과 @Autowired
  • @Bean
    • 서블렛 컨테이너에 빈을 등록 / 생성
  • @Autowired
    • 등록/생성되어있는 빈을 끌어다가 사용

2022.08.22 - [🌿SPRING/🍀공부 [SPRING]] - [SPRING] 의존성 주입 DI , IoC 컨테이너

 

[SPRING] 의존성 주입 DI , IoC 컨테이너

<강한 결합> 강한 결합의 문제점 Controller 5 개가 각각 Service1 을 생성하여 사용 중 (각각 객체를 생성하여 사용중) Repository1 생성자 변경에 의해.. ⇒ 모든 Contoller 와 모든 Service 의 코드 변경..

wearegolden.tistory.com


@Bean으로 바꾸어주고 나니 복호화된 값이 잘들어가서 업로드가 잘되는 걸 확인할 수 있다.