- 내 프로필을 볼 때와 다른 사람 프로필을 볼 때 페이지 호출 과정을 구분하자.
- routes.js에 const ME = "/me";와 me: ME,를 추가해준다.
- 프로필을 누르면 사진과 이름이 나오도록 userDetail.pug을 수정한다.
- 로그인한 상태에서는 Profile 버튼을 누르면 routes.me(/users/me)로 이동한다.
userRouter에 userRouter.get(routes.me, getMe);를 추가해서 me 주소로 접근시도가 있을 때 getMe함수를 호출한다.
getMe 함수는 userDetail.pug를 불러오고, request object의 user 정보를 전달한다.
- 일반적인 아이디로 호출할 경우(/users/id)는 아래와 같이 userDetail 함수를 호출한다.
- request object에서 id를 알아낸 뒤 그에 맞는 유저의 프로필 페이지를 불러온다.
- 이때 userRouter에서 routes.me가 routes.userDetail()보다 위에 있어야 한다.
- 만약 routes.userDetail()이 우선 실행되면 /users/me에서 me를 id로 인식해 userDetail 함수를 호출한다.
- 미들웨어는 위에서부터 차례대로 실행되기 때문에 순서를 조심해야 한다.
'Youtube Clone > User Authentication' 카테고리의 다른 글
Kakao Login (0) | 2019.09.23 |
---|---|
onlyPublic, onlyPrivate (0) | 2019.09.23 |
MongoStore (0) | 2019.09.23 |
Passport (0) | 2019.09.23 |