이번 주에는 NMCloud의 사용자 접근 및 인증 기능 구현을 중심으로 개발을 진행하였다. 서비스의 첫 진입 화면인 인트로 페이지를 제작하고, 사용자가 계정을 생성하고 로그인할 수 있도록 회원가입 및 로그인 페이지를 구현하였다.
또한 회원가입 과정에서 입력값에 대한 유효성 검사를 적용하고, 회원가입이 완료될 경우 이후 클라우드 서비스의 보안 기능에 활용할 수 있도록 사용자 비밀번호 기반 PBKDF2 키 파생 및 공개키/비밀키 생성 기능을 구현하였다.
마지막으로 로그인 이후 사용자가 실제 클라우드 서비스를 이용할 수 있는 클라우드 메인 페이지의 기본 화면을 구성하였다.
2. 개발 내용
2.1 NMCloud 인트로 페이지 구현
NMCloud 서비스에 접속했을 때 가장 먼저 표시되는 인트로 페이지를 제작하였다.
인트로 페이지에서는 사용자가 NMCloud 서비스에 진입하여 주요 기능을 확인하고, 로그인 또는 회원가입 화면으로 이동할 수 있도록 기본적인 화면 및 이동 구조를 구성하였다.
2.2 로그인 및 회원가입 페이지 구현
사용자의 계정 생성과 로그인을 위한 회원가입 페이지와 로그인 페이지를 구현하였다.
회원가입 과정에서는 사용자가 입력하는 정보가 올바른 형식인지 확인할 수 있도록 각 입력 항목에 대한 유효성 검사 기능을 추가하였다.
이를 통해 잘못된 형식의 데이터가 회원가입 과정에서 그대로 처리되는 것을 방지하고, 사용자가 입력 과정에서 오류를 즉시 확인할 수 있도록 구성하였다.
회원가입 입력값 유효성 검사
회원가입 시 다음과 같은 항목에 대한 유효성 검사를 수행하도록 구현하였다.
아이디 유효성 검사
아이디 입력 여부 확인
설정된 아이디 형식 및 조건에 맞는지 검사
이메일 유효성 검사
이메일 입력 여부 확인
올바른 이메일 형식인지 검사
비밀번호 유효성 검사
비밀번호 입력 여부 확인
설정된 비밀번호 조건을 만족하는지 검사
비밀번호 확인 입력값과 일치하는지 검사
각 항목의 조건을 만족하지 못할 경우 회원가입이 진행되지 않도록 처리하였으며, 모든 조건을 만족했을 경우에만 다음 단계로 진행되도록 구현하였다.
2.3 PBKDF2 기반 키 파생 기능 구현
회원가입 과정에서 모든 입력 조건을 만족한 후 사용자가 회원가입 버튼을 클릭하면, 사용자가 입력한 비밀번호를 기반으로 PBKDF2를 이용한 키 파생 과정을 수행하도록 구현하였다.
PBKDF2(Password-Based Key Derivation Function 2)를 사용하여 사용자의 비밀번호를 직접 암호화 키로 사용하는 것이 아니라, 별도의 키 파생 과정을 거쳐 암호학적으로 활용할 수 있는 키를 생성하도록 구성하였다.
이를 통해 향후 NMCloud에서 파일 암호화 등의 보안 기능을 구현할 때 사용자 인증 정보와 암호화 기능을 연계할 수 있는 기반을 마련하였다.
2.4 공개키 및 비밀키 생성 기능 구현
회원가입 과정에서 모든 입력 조건을 만족할 경우 랜덤 비밀키와 공개키를 로컬 환경에서 즉시 생성하도록 구현하였다.
키 생성 과정에서는 매번 새로운 랜덤 값을 기반으로 키를 생성하도록 구성하였으며, 생성된 공개키와 비밀키를 이후 NMCloud의 암호화 기능에 활용할 수 있도록 기반을 마련하였다.
특히 키 생성 과정을 클라이언트의 로컬 환경에서 수행하도록 구성하여, 향후 NMCloud에서 클라이언트 측 암호화 및 안전한 파일 관리 기능을 구현하기 위한 구조를 구축하였다.
2.5 로그인 이후 클라우드 메인 페이지 구현
로그인에 성공한 사용자가 실제 NMCloud 서비스를 이용할 수 있도록 클라우드 메인 페이지를 구현하였다.
로그인 성공 이후 해당 페이지로 이동하도록 사용자 흐름을 구성하였으며, 향후 파일 업로드, 파일 목록 조회, 파일 다운로드 및 파일 암호화 등의 기능을 추가할 수 있도록 기본적인 페이지 구조를 제작하였다.
(아직 예시 페이지입니다. 디자인이나 표시되는 정보를 달라질 수 있습니다.)
3. 전체 사용자 흐름
이번 주 개발을 통해 NMCloud의 서비스 진입 → 회원가입 → 입력값 검증 → 키 생성 → 로그인 → 클라우드 메인 페이지 접속으로 이어지는 기본적인 사용자 흐름을 구현하였다.
전체적인 동작 과정은 다음과 같다.
NMCloud 인트로 페이지
↓
로그인 / 회원가입
↓
회원가입 입력값 유효성 검사
↓
┌──────┼──────┐
아이디 이메일 비밀번호
└──────┼──────┘
↓
모든 조건 만족
↓
PBKDF2 기반 키 파생
+
랜덤 공개키 / 비밀키 생성
↓
회원가입
↓
로그인
↓
NMCloud 클라우드 메인 페이지
4. 다음 개발
다음 주에는 NMCloud의 데이터베이스 구축 및 서버 기능 구현을 중심으로 개발을 진행할 예정이다.
우선 회원 정보와 클라우드 파일 정보를 관리하기 위한 데이터베이스를 구축할 예정이다. 현재 데이터베이스의 전체적인 구조와 저장할 데이터에 대한 대략적인 구상은 완료된 상태이며, 적절한 데이터베이스 제공자를 선정한 후 실제 DB 구축을 진행할 계획이다.
데이터베이스 구축이 완료되면 이를 서버와 연동하여 현재 구현된 회원가입 및 로그인 기능을 실제 DB 기반의 사용자 인증 기능으로 완성할 예정이다. 회원가입 시 사용자 정보를 데이터베이스에 저장하고, 로그인 시 저장된 사용자 정보를 조회하여 인증하는 방식으로 구현할 계획이다.
이후 서버에서 파일 업로드 및 파일 조회와 관련된 API를 구현하여 실제 클라우드 파일 관리 기능을 개발할 예정이다. 사용자가 파일을 업로드하면 서버에 파일이 저장되고, 저장된 파일의 정보를 API를 통해 조회하여 클라우드 메인 페이지에 파일 목록이 표시되도록 구현하는 것을 목표로 한다.
개발 일정에 여유가 있을 경우에는 NMCloud의 주요 기능이 실제로 어떤 방식으로 동작하는지 사용자가 직관적으로 확인할 수 있는 예시 페이지도 추가로 구현할 예정이다.
답글 남기기