[TIL] 230719 토큰..왜.. 크롬 쿠키에 안 담겨?

CountryGirl·2023년 7월 19일
0

TIL

목록 보기
28/80

📌 문제점 & 시도 & 해결

✅ JWT Util

미리 만들어 놓은 JWT Util을 사용을 하여 로그인 API를 구현했다.

createToken()

public String createToken(String userId) {
	Date date = new Date();
	return BEARER_PREFIX + Jwts.builder()
		.setSubject(userId)
		.setExpiration(new Date(date.getTime() + TOKEN_EXPIRED_TIME))
		.setIssuedAt(date)
		.signWith(key, signatureAlgorithm)
		.compact();
}

이 메서드를 사용해서 토큰을 생성해주고,

addJwtToCookie()

public void addJwtToCookie(String token, HttpServletResponse response) {
	try {
		token = URLEncoder.encode(token, "utf-8")
				.replaceAll("\\+", "%20");

	Cookie cookie = new Cookie(AUTHORIZATION_HEADER, token); // Name-Value
	cookie.setPath("/");

	response.addCookie(cookie);
	} catch (UnsupportedEncodingException e) {
	throw new UnsupportedJwtException(e.getMessage());
	}
}

이 메서드를 사용해서 JWT를 저장을 한다.

✅ 아주 기가막힌 발상

나는.. 바보였다..
.addCookie(cookie)

addCookie가 바로 브라우저 크롬 쿠키에 저장이 되는 건 줄 알았다.
정말 상상도 못했다.

알고 보니.. header에 저장되어서 전달이 되는 거였다...

로그인을 구현하면서 프론트엔드에서 header에 들어오는 것을 처리하지 못한다고하여서
body로 보냈다...

profile
💻🌾시골소녀의 엉망징창 개발 성장일지🌾💻 (2023.05.23 ~)

0개의 댓글