문자열 인코딩하기

jungho:secret -> anVuZ2hvOnNlY3JldA==

# 문자열 -> 인코딩된 문자열

문자열 디코딩하기

fun String.decodingBase64(): List<String> =
    String(Base64.getDecoder().decode(this)).split(':')

// ':' 으로 구분해서 0번째 인덱스에 id, 1번째 인덱스에 password를 담습니다
val decodingStrings = request.encodingString.decodingBase64()
val user = userRepository.findByAccountIdAndPassword(
    accountId = decodingStrings[0],
    password = decodingStrings[1],
) ?: throw TodoNotFoundException

// 0번째 인덱스에 담긴 id를 넣고 1번째 인덱스에 담긴 password를 넣는다

스크린샷 2023-08-01 오후 9.43.32.png

200 응답이 잘 오는것을 확인할 수 있다


Body → Header로 요청하기

val decodingStrings = httpServletRequest.getHeader("Request-Secret").decodingBase64()
print(decodingStrings)
val user = userRepository.findByAccountIdAndPassword(
    accountId = decodingStrings[0],
    password = decodingStrings[1],
) ?: throw TodoNotFoundException

// request로 받던 것을 header로 받는 것으로 변경한다.

스크린샷 2023-08-01 오후 9.50.47.png

200 응답이 잘 오는 것을 확인할 수 있다.