[에러] 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