서비스를 bearer token 으로 인증하고 있는데,
swagger ui에 들어가면 Autuorization 이 활성화 되긴 하지만 (Login 후 받은) bearer 토큰을 넣어도 활성화가 안되고 token이 NULL로 서버에 들어간다.
결과가 빨리 필요한 사람은 액션4로!
포스트 맨처럼 header 에 Key:Authroization, value: Bearer token 날라가게 만들기
implementation 'io.springfox:springfox-boot-starter:3.0.0'
만 있었는데 여기에
implementation 'io.springfox:springfox-swagger-ui:3.0.0'
추가
Authorize 로그인전 과 후
여전히 날라가지 않는다.
SecurityReference
의 reference 와 api key에 도배함
정확한 목표를 다잡기 위해서 포스트맨이 날리는 명령어를 Curl 로 봐보자
포스트맨 > Send 옆에 있는 code 클릭
목표는
curl --location --request GET 'localhost:8080/posting/post/173/1' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNzMiLCJpc3MiOiJhcHAiLCJpYXQiOjE2NjgwNzIwOTksImV4cCI6MTY3NTg0ODA5OX0.ew5jsEguHlmoPIdavWBX_1rkX-fQDp_gq5MTei5ejis'
그리고 지금 상황은
curl -X GET "http://localhost:8080/posting/post/173/1" -H "accept: */*" -H "Bearer: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNzMiLCJpc3MiOiJhcHAiLCJpYXQiOjE2NjgwODUyNTYsImV4cCI6MTY3NTg2MTI1Nn0.05WUcoocEjfYQZSNt0oq-jB2i3Y2vg-X9ZVb7zZANlE"
비교 해보면 포스트맨은 헤더에 'Authorization: Bearer 로 보내고 있는 반면에 스웨거는 현재 Bearer:로 보내고 있음
그렇다면 : (콜론) 앞에는 Authorization로 변경하고 뒤를 Bearer 로 변경할 방법을 찾아야한다
구글 이거저거 찾아보다가 어느 한 github issue 에 달린 댓글 중 한개 ..
아니 Authorization 에 토큰만 넣는게 아니라 bearer 를 입력하면 된다고?
겠냐?
겠냐...????
겠냐고 ....
어?
되네…?
떙큐 ShvaykaD..! 감사감사 큰절
이전처럼 swaggerui 페이지에들어가서 Authorization 을 눌러서 Login에서 받은 토큰을 바로 입력 X
앞에 Bearer 넣기 (띄어쓰기까지!)
토큰을 붙여넣고
앞에 “Bearer “ (띄어쓰기 조심!) 을 하면 된다
휴.. 이거때문에 개발할 때 jwt 없이 개발했었는데 이번엔 상용 서비스에 들어가서 jwt가 필요했다.
이전에 못 풀었던 문제를 해결해서 마음이 굉장히 상쾌하다!!! 후!!
감사합니다 덕분에 해결했습니다 혹시 "Bearer "를 안치고 토큰값만 넣는 방법은 없을까요?