왕초보일지

240123 TIL |

다시은 2024. 1. 23. 21:13

회원가입, 로그인 서비스 로직 만들어놓고

이메일 인증 구현하기

 

 

기본 구현 => 익명 닉네임 만들기

 

목표 : 익명 닉네임 생성

목적 : 익명 게시판의 게시글 작성자를 익명으로 나타내기 위해

 

 

1 UUID 메소드 이용

UUID

: 고유성이 보장되는 id를 만들기 위한 표준규약

: 중복되기 어려운 값들을 길게 만들어서 단일 값을 보장함 8-4-4-4-12

UUID.randomUUID()

 => 무작위 생성 가능

 

근데 익명을 나타내기 위함인데 굳이 이렇게 길 필요가 없을 것 같다.

 

 

2 Random() 이용 문자열 랜덤 뽑기

val chars = "abcdefghijklmnopqrstuvwxyz"
    val random = java.util.Random()
    var nickname = ""
    for(i in 1..10) {
        nickname += chars[random.nextInt(chars.length -1)]
    }
    return println(nickname)

 

 

3 RandomStringUtils. 문자열 랜덤 뽑기

implementation("org.apache.commons:commons-lang3:3.14.0")
val nick = RandomStringUtils.random(10, true, true)

apache common langs 라이브러리를 이용

문자열 길이, 문자/숫자 사용 여부, 범위 등을 지정할 수 있다.

 

 

 


이메일 인증 코드 발송 구현 (참조  )

	implementation("org.springframework.boot:spring-boot-starter-mail:2.6.7")

 

signupService => 회원가입 성공하면 받은 이메일 기반으로 인증코드 발송 메소드 호출

 

mailService => 인증코드 생성, 메일 생성, 메일 발송, 인증코드 검사