본문 바로가기
띡딱똑띡 개발자 Hanna

NodeJS와 MongoDB로 SNS 만들어보기 - user_passport (로그인 라우터)

by HannaDev 2019. 11. 14.

 

<routes 폴더 구조>


 

저번 포스트에서는 전체적인 폴더 구조를 설명했고

이번 포스트에서는 현재까지 구현된 router의 전체 목록을 설명하고자 합니다.

 

 

> user_passport.js

user_passport.js 파일의 라우터 목록

user_passport.js 파일에는 '로그인'과 관련된 라우터들이 정의되어있습니다.

모두 GET 요청으로 탈퇴를 담당하는 /secession 라우터는 약관?정책? 관련해서

탈퇴하더라도 일정 기간동안 남겨둬야하는 정보들이 있다고해서 주석처리해놓은 상태입니다.

 

배포 전 약관 정책들을 확정하고 그에 따라 /secession 라우터를 다시 구현해야 할 것 같습니다.

 

 

구글, 네이버, 트위터 소셜 로그인 구현 시, 해당 라우터 모습.

소셜로그인 구현 시, 각 소셜 개발자 페이지에서 따로 설정을 해야 하며

그 곳에서 설정한 callback 경로와 동일한 경로로 콜백 라우터를 만들어야 합니다.

 

 

 

* Router 상세 정보 *

더보기

GET     /

* 로그인 상태를 반환합니다.

 

{

  isLogin: 로그인 상태 (boolean),

  _id: 사용자의 ObjectId 값 (String),

  provider: 어느 소셜을 사용하여 로그인했는지 (String),

  email: 사용자의 이메일 값 (String)

}

 

 

 

GET     /profile

* 나의 프로필 정보를 반환합니다.

 

> 에러 발생 시

{

  isLogin: false (boolean),

  errorMsg: 에러 메시지 (String)

}

 

> 정상 작동 시

{

  isLogin: true (boolean),

  provider: 어느 소셜을 사용하여 로그인했는지 (String),

  email: 사용자의 이메일 값 (String),

  userName: 사용자의 아이디 값 (String),

  nickname: 사용자의 닉네임 값 (String),

  isBasicImg: 사용자의 프로필이미지가 기본 프로필 이미지인지 (boolean),

  ImgName: 사용자의 프로필이미지 이름, isBasicImg가 true면 null값 (String),

  ImgUrl: 사용자의 프로필이미지 Url, isBasicImg가 true면 null값 (String),

  userInfo: 사용자의 프로필 소개글 (String),

  isStore: 스토어 개점 여부 (boolean),

  PushNotice: 알림 설정 여부 (boolean),

  EmailNotice: 이메일 알림 설정 여부 (boolean),

  isAgree: 약관 동의 여부 (boolean),

  newMsg_count: 사용자에게 온 메시지 개수 (int),

  board_count: 작성한 게시글 수 (int),

  follower_count: 팔로워 수 (int),

  following_count: 팔로잉 수 (int)

}

 

 

 

GET    /logout

* 세션을 파괴하고 로그아웃을 합니다.

 

{

  isLogin: false (boolean),

  msg: "로그아웃"

}

ㄴ 프론트(Flutter)를 위한 상세정보

 

 

 

댓글