Mything 프로젝트를 진행하면서 로그인 기능을 만들어야 했다. 이번에는 웹사이트가 아닌 iOS 어플만을 지원하는 API를 개발하는것이라 간단하게 로그인을 구현하기 위해서 본인의 휴대폰임을 인증하기만 하면 로그인이 가능하게 만들었다. 어플이라 한번 로그인하고 나면 로그아웃을 할 필요가 없기 때문에 비밀번호의 필요성이 전혀 없다고 느꼈었다. 하지만, 이것이 장기적인 관점에서는 큰 문제를 유발시켰다.
첫번째 문제는 핸드폰 번호를 변경할 경우의 대한 문제이다. 처음 가입해서 사용할때 a번호로 가입을 했는데 현재 내가 b번호로 번호를 갑자기 변경했다면, 그 유저의 기존 정보는 로그인이 불가능하기 때문에 되찾을 수 가 없다.
여기서 두번째 문제가 더 발생하는데 변경된 a번호를 발급 받게 된 사람이다. 그 사람이 우리 어플을 이용하면 처음 사용하는 것 임에도 이전 사용자의 정보와 친구관계가 고스란히 남아있게 된다. 개인정보를 유출하게 되는 것이다.
문제를 해결하기 위해서 많은 고민을 하고 결단을 내렸다.
a번호를 발급 받게 된 사람이 로그인 시 유저의 생년월일이 데이터베이스에 저장된 기존 유저의 정보와 다를시 5번의 기회를 주고 5이상 틀리게 될 시 초기화 작업을 진행한다.
핸드폰 번호를 변경후 변경된 핸드폰 번호로 정보를 옮기고 싶다면, 개발자에게 이메일을 보내 개발자가 직접 정보를 변경해주는 방식을 선택하였다.
위와 같은 방법으로 개인정보 유출이라는 문제는 해결하였으나 개발자가 직접 메일을 확인해서 데이터베이스에서 유저의 정보를 옮겨주어야 한다는 문제가 남게 되었다.
유저가 적을 때에는 핸드폰 번호를 변경하는 사람의 비율이 적겠지만, 적든 많든 가장 큰 문제는 자동화가 아니라는 점이다. 자동화가 되도록 문제를 바로 잡아야 한다.