[에러] Illegal base64url character: ' '
2022. 10. 19. 23:21ㆍ에러 창고
728x90
SMALL
[Reason]
- 토큰 정보를 해제하여 그 속에 들어있는 유저의 정보를 가져오려고 하는 와중에 발생한 에러이다.
Authorization 이라는 헤더명을 가진 request의 Access토큰값을 tokenprovider의 validateToken 메소드를 활용하여 분해하고, 분해할 수 없으면 리턴값을 반환하고, 할 수 있으면 그대로 분해되어 출력된 유저 정보들을 활용할 계획이었다.
동작을 수행해보니 Illegal base64url character: ' ' 에러가 발생했다.
이 말인 즉슨, 토큰값을 분해할 때 Base64 형식으로 decode 된 secret key 를 사용하여 토큰을 분해하게 되는데,
이 Base64 형식은 ' '(공백) 을 인식할 수 없다는 것이다.
나는 AccessToken 을 넣어서 분해하려고 했다. AccessToken의 맨 앞쪽에는 'Bearer ' 라는 공백을 포함한 문자열이 기입되어있었다.
그래서 분해조차 되지않는 것이다.
[Solution]
- request.getHeader("Authorization") 에서 request.getHeader("Refresh-Token") 으로 변경해주니 정상적으로 동작하게 되었다.
AccessToken 과 RefreshToken 은 같은 유저 정보를 공유한다. (쌍둥이인 셈!)
728x90
반응형
LIST