logo

[Spring] 레디스(Redis)를 이용한 SMS인증(기존 세션 저장에서 레디스 도입)

language-logoRedis
language-logoSpring

• 개인 프로젝트에서 회원가입 기능을 구현하면서 SMS 문자 인증 기능을 도입, 처음에는 인증 번호를 세션에 저장하였으나, 세션의 단점으로 인해 레디스를 활용하여 저장하게 변경하였다.
• 세션의 단점으로는 컨트롤러 계층에서 비즈니스 로직을 지양해야 하며, 인증 번호의 유효시간을 세션 타임아웃으로 관리하면 다른 세션 기반의 비즈니스 로직에 영향을 줄 수 있고, 일시적 데이터인 인증번호는 세션에 저장하기 적합하지 않으며, 세션의 key 값이 중복될 가능성이 있어 안정적이지 않다는 점이 있다.
• 레디스를 활용한 SMS 인증 방식을 구현하기 위해, 레디스 템플릿을 설정하고, 인증번호를 생성하고 저장하는 메서드를 포함한 클래스를 작성하였다.
• 컨트롤러의 메서드를 간결하게 변경하고, 복잡한 비즈니스 로직은 서비스 계층으로 이동하여, 레디스를 활용하여 인증 번호를 저장하고 검증하는 메서드를 구현하였다.

thumbnail
북마크
공유하기
신고하기
8분 분량
조회수 219
profile-image
일 년 전
Copyright © 2025. Codenary All Rights Reserved.