오늘 처음으로 멘토님을 만나고 피드백을 들을 수 있었다.
로그인/회원가입 쪽에서 들은 가장 큰 문제점은 개인정보가 들어갔다는 점.
보안 능력이 따라주면 상관없지만, 아직 미숙하기에 보안을 지킬 수 없다면 아예 다 제거하기로 했다.
으...
우선 DB, DTO부터 수정
CREATE TABLE memberDB (
userId VARCHAR2(50) PRIMARY KEY,
userPw VARCHAR2(50) NOT NULL CHECK (LENGTHB(userPw) >= 4),
nickname VARCHAR2(30) UNIQUE NOT NULL,
userEmailId VARCHAR2(50) NOT NULL,
userEmailDomain VARCHAR2(50) NOT NULL,
restoreUserEmailId VARCHAR2(50),
restoreUserEmailDomain VARCHAR2(50),
googleConnected CHAR(1) DEFAULT 'n' CHECK (googleConnected IN ('y', 'n')),
naverConnected CHAR(1) DEFAULT 'n' CHECK (naverConnected IN ('y', 'n')),
kakaoConnected CHAR(1) DEFAULT 'n' CHECK (kakaoConnected IN ('y', 'n')),
userSignDate VARCHAR2(10) DEFAULT TO_CHAR(SYSDATE, 'yyyy/MM/dd') NOT NULL,
userType VARCHAR2(1) NOT NULL CHECK (userType IN ('0', '1', '2', '3', '4')) -- 0 for admin, 1 for member, default is member
);
추가로 SSO도 확인하기 쉽도록 구글/네이버/카카오 연동 여부도 DB에 넣었다.
다른 곳은 몰라도 구글은 받아오는 정보가 많지 않고,
개인정보를 최소화하기 위해 동일 이메일 여부로 SSO를 구현할 예정
또한 전체 비밀번호 찾기에서 그래도 질문에 따라 변동되는 답을 대응하는 코드는 살리고 싶었다.
그래서 복구 이메일을 유저 선택에 따라 입력하도록 만들었다.
'팀프로젝트 > SpringBoot' 카테고리의 다른 글
스프링부트 팀플) 20240331 여러 방식의 로그인의 일원화 (0) | 2024.03.31 |
---|---|
스프링부트 팀플) 20240331 아이디의 이메일화 (0) | 2024.03.31 |
스프링부트 팀플) 20240329 네이버 로그인 (0) | 2024.03.30 |
스프링부트 팀플) 20240328 카카오톡 로그인 (0) | 2024.03.28 |
스프링부트 팀플) 20240327 구글로그인 기능 구현 (0) | 2024.03.27 |