Development/Spring Boot
[Spring Boot] 이메일 인증 구현 - Redis 유효 시간 적용하기
KoreaNirsa
2025. 8. 5. 14:36
반응형
이메일 인증 구현 - Redis 유효 시간 적용하기
이미 로컬에 redis가 설치되어 있다는 전제하에 진행합니다. 윈도우 환경에 redis를 설치하는 것은 https://github.com/microsoftarchive/redis/releases 으로 접속하셔서 msi를 다운 받아 실행하시면 됩니다.
build.gradle에 redis 의존성과 application.properties쪽에 설정을 추가해주세요.
implementation("org.springframework.boot:spring-boot-starter-data-redis:3.5.4")
spring.data.redis.host=localhost
spring.data.redis.port=6379
RedisConfig를 생성하여 빈을 등록해줍니다.
@Configuration
class RedisConfig {
@Bean
fun redisTemplate(redisConnectionFactory: RedisConnectionFactory): StringRedisTemplate {
return StringRedisTemplate(redisConnectionFactory)
}
}
이후 이 전 포스팅(2025.08.05 - [Development/Spring Boot] - [Spring Boot] 이메일 인증 구현 - Naver SMTP) 에서 만들어 두었던 전송 부분에 코드를 추가합니다. prefix(emailCode)를 붙여 키를 주고 값에 랜덤 숫자(code)를 넣습니다. 또한 이 정보는 5분의 TTL을 가지므로 5분간 유효한 정보가 됩니다.
override fun sendEmailCode(emailDTO : ReqEmailDTO) : String {
val code = generateCode()
sendEmail(emailDTO.email, code)
redisTemplate.opsForValue().set(
"emailCode:${emailDTO.email}",
code,
5, TimeUnit.MINUTES
)
return code;
}
이제 인증 요청을 한 뒤 아래 명령어를 redis-cli에 입력하여 확인해보시면 됩니다.
// prefix가 emailCode: 인 모든 키 조회
keys emailCode:*
// 키가 emailCode:islandtim@naver.com인 데이터의 값 조회
get emailCode:islandtim@naver.com

※ .msi 설치 후 redis-cli가 되지 않을 경우
만약 https://github.com/microsoftarchive/redis/releases 에서 msi로 설치 후 redis-cli가 존재하지 않는 명령어라고 뜬다면 윈도우+R 키 누르신 후 sysdm.cpl → 고급 → 환경 변수 → 시스템 변수 (편집) → 새로 만들기를 클릭하신 후 redis가 설치된 경로(C:\Program Files\Redis)를 입력해주시면 됩니다.
반응형