• JavaScript_Project 기록 일지_02. 발생 오류 [1]. 2020.11.28 최종수정

    2020. 11. 19.

    by. KAEY

    프로젝트 구상 ::


    "클라우드 시스템을 사용할 때, 카카오톡의 PC 로그인 시 1회용 인증 서비스를 구현해서 클라우드 시스템의 보안성을

    향상시켜 클라우드에 저장된 파일들을 더 안전하게 지키는 시스템과 클라우드 시스템을 구현하고자 함."


    개발도구 및 환경은 [01. 설치~환경설정]에 서술. 

     

    DB와 서버 구현, MySQL에 사이트의 구현까지. 실습하였다. 

     

    해당 화면에서 회원가입의 버튼을 누르면,

    다음과 같은 화면에서 회원가입을 진행할 수 있다.

     

    이에 따라 MySQL에서 확인 가능한 저장된 데이터는 다음과 같다. 이는 models/user.js 에서 내가 설정한 컬럼들이다.


    ▶기능 생각하기

    이제 내가 초기에 생각했던 카카오톡의 PC 1회용 로그인 시스템을 구현하기 위하여, 회원가입을 할 때,

    사용자가 이 기능을 이용할 것인지에 대한 여부를 판단해야 한다.

    그에 대한 값으로 seculogin을 설정했다. on/off 값을 이용할 예정이다. on인 경우 회원가입한 이메일과 비밀번호로 사이트에 로그인할 때, 추가적인 카카오톡 1회 로그인 인증 서비스를 제공하고자 한다.

    off의 경우 기존과 동일하게 로그인하게 되므로, 추가적인 기능이 필요하지 않다.


    ▶무엇이 필요한가?

    • 사용자가 카카오 인증 시스템에 대한 여부를 판단할 수 있어야 한다. (DB에서의 판단) → (2020.11.28추가) if문과 회원가입 시의 추가적인 변수 할당으로 실현 가능하다.
    • 사용자가 카카오 인증 시스템을 사용한 경우, 사용자는 해당 카카오톡의 계정으로 인증을 진행하여 로그인한다. → (2020.11.28추가) 위의 if문과 추가적인 변수 할당을 이용하여, 추가적인 카카오톡 계정 인증을 요구하여 실현이 가능했다.

    ▶여기서의 고난과 역경은?

    • 사용자가 카카오 인증 시스템을 사용하는 경우 DB에 사용자의 SNS아이디와 kakaonick의 대한 값을 저장해야한다. 이에 사용자에게 메시지 형태로 전달할 수 있어야한다. (사실 카카오닉은 중요하지 않다.)

          (1) 데이터를 추가적으로 넣는다라는 개념으로 DB에 저장할 수 있는 방안이 필요함. (2020.11.28추가) passport와 findone 혹은 findall을 이용하여 DB에 저장된 row의 값을 특정하여 저장하는 방식을 이용한다. 

          (2) DB에 저장된 경우, 웹 서버에서 로그인 시도시, ON임을 판단하고 그에 따라 인증 시스템을 연결해야 한다. (2020.11.28추가) 이것 역시 추가적인 if문과 변수 할당으로 조건을 걸어서 설정이 가능하다.


    생각해보기. 

     

    1안) 로그인과 카카오 인증 시스템을 회원가입에서 한 번에 하지 않고, 로그인을  우선한 후, 로그인 상태에서 추가적인 인증 시스템 연결로 진행한다. ▶개인적으로 실현 가능성이 높아 보임.

     

    2안) 카카오톡 회원가입을 체크한 후 회원가입 버튼을 누르는 경우에 그 데이터 값은 DB에 저장되고 이에 새로운 로그인 인증 시스템 연결로 진행하여 그 값 역시 저장한다. ▶ 즉시 DB에 저장하고 카카오API 진행시 그 값을 해당하는 올바른 DB의 ID값에 저장시킬 수 있을까? ▶ 긴가민가 하다.

     

    ▷3안) 대중적인 사이트에서 사용하는 알고리즘 방향으로, 선 카카오 인증을 진행한 후, 추가적인 ID값과 PW값 등을 받는 회원가입을 진행한다. ▶ 이것 역시 실현 가능성이 높아 보인다.

     

    ▷카카오톡은 제 3자의 서버에서 개인에게 메시지를 전송하는 API를 제공하지 않아, 메일의 전송 예제를 통한 URL 인증 시스템을 통해 테스트를 하는 방향으로 순회한다.

    댓글 (비로그인 댓글 허용하지 않습니다.)