상세 컨텐츠

본문 제목

[인증 기능] HOC

본문

시작점

Auth(HOC)

백엔드에 요청을 보냄 (현재 렌딩 페이지에 들어와 있는 사람의 상태 정보를- 로그인 된 유저, 어드민 유저,....)

 

HOC (auth)가 어떻게 구현이 되어 있나

<client>

1. client/src/hoc/auth.js

dispatch(auth())를 통해 dispatch로 action auth를 요청한다.

2. client/src/redux/_actions/index.js

auth()라는 액션을 정의해 놓았다.

3. client/src/redux/_reducer/index.js

dispatcher로 인해서 AUTH_USER의 state가 아래 정의된 바와 같이 바뀐다.

<server>

1. /server/routes/users.js

클라이언트에서 요청이 오면, auth 미들웨어 먼저 간다.

2. /server/middleware/auth.js

이곳을 통과 하였다면, 올바른 auth를 가진 사람

 

<client>의 src/hoc/auth로 돌아가서

isAuth가 False (로그인 안한 상태) 라면 로그인페이지 혹은 기본 페이지로 보내고

 

isAuth가 True (로그인한 상태) + isAdmin (권한)이 올바르다면, 해당페이지로 보내고

아니라면, 로그인 직후의 페이지(/classes)로 보낸다.

 

관련글 더보기

댓글 영역