10cheon00 / drf-practice

0 stars 0 forks source link

Now when request to backend, check that user had token. #22

Closed 10cheon00 closed 3 years ago

10cheon00 commented 3 years ago

인증되지 않은 요청 제한

vue-router에서 매 path마다 옵션을 줘서 그 옵션을 참고해 접근을 제한할까, 생각해봤다. 당장은 그 생각을 구현할 방법이 떠오르지 않아서 매 컴포넌트마다 created에서 직접 메소드를 호출해 검사하기로 했다. tokenMixin에 메소드를 넣어놓고 글로벌 믹스인으로 둔다음 제한할 컴포넌트에만 넣기로 했다. 이런 방법도 있는것 같다.

라우팅에는 제한이 없지만, 컴포넌트 생성 시 가지고 있는 토큰을 검증한다. 실패할 경우 SignIn페이지로 다이렉트 된다.

VerifyToken

갖고 있는 토큰이 정상적인지를 알기 위해서는 SimpleJWT에 TokenVerifyView를 이용해야한다. 그런데 action에서 그 api에 접근해 결과를 받아와 컴포넌트에게 돌려주기 위해서는 Promise객체에 대해 이해해야했다. 먼저 토큰이 없다면 reject, data에 token: <access_token>으로 값을 넘긴 후 상태 코드가 200일 경우에만 resolve, 아닐 경우 reject.

TODO