괜찮아 잘하고있어 힘내

세션 & 인증 6.4. 인증구현 - 인증상태를 UI에 반영 본문

웹 개발/Express Session & Auth

세션 & 인증 6.4. 인증구현 - 인증상태를 UI에 반영

코오올라 2021. 3. 2. 21:22

콘솔에 request.session 정보를 출력해보면

이런식으로 들어있다.

그리고 우리는 로그인 상태를 is_logined 값이 true인지를 보고 알 수 있다.

 

index.js

5) 로그인 상태를 검사하고 반환하는 함수.

6) 세션에 저장된 is_logined 값이 true이면

7) true를 반환

8) 그렇지 않다면(false라면)

9) false를 반환

 

로그인이 성공했다면 index화면(홈)에서 login 링크가 logout으로 바껴야 한다.

template.js

2) authStatusUI라는 매개변수를 주고 매개변수의 기본값을 login<a>태그로 준다.

    authStatusUI 값이 없으면 기본적으로 '<a href="/auth/login">login</a>' 코드가 실행된다.

   

11) login또는 logout 링크가 들어갈곳이다.

 

index.js

13) 로그인 상태를 확인하고 그에 따른 login이나 logout 코드를 반환하는 함수

14) authStatusUI의 값을 기본적으로 login링크를 만드는 <a>태그 코드를 담는다.

15) 만약 authIsOwner함수의 결과가 true라면 (로그인 상태가 true라면)

16) authStatusUI의 값을 `${request.session.nickname}|<a href="/auth/logout">logout</a>` 이렇게 저장한다.

즉, 세션에 있는 nickname 값을 가져오고, | logout 링크를 만드는 코드를 저장한다.

 

32) authStatusUI함수를 호출하고 로그인 상태를 검사해 그에 맞는 login링크나 logout링크를 만드는 <a>태그를 반환한다.

 

Comments