20.03.04 20:34 작성
·
527
1
Authorization에 들어갈 token은 login에 대한 response으로 들어오는 것 같은데 맞는지요?
강사님이 예시로 보여주실 때, 로그아웃 상태였는데 로그인 요청을 할 때 Authrization이 들어갔는데요. 제가 작성한 소스에서는 들어가지 않고 있어서요!
강사님의 요청과 제 요청에서 다른 부분은 Option?? Login 요청할 때, 강사님은 2개의 Login이 한번에 있고 밑에부분을 보여주셨는데요. 그 부분이 다른 것 같아요.
제가 Authorization이 없는 이유는 Option 때문인가요?
또 혹시 Option은 이전의 강의에서 설명해 주셨었나요?
회원 가입 API 호출과 주의 사항에서 Option에 관한 언급이 잠깐 있었는데, 혹시 제가 강의에서 놓쳤나 해서 질문 드립니다 :)
답변 4
2
여기서 드리는 질문은 로그인은 어차피 인증된 유저가 접근한게 아니고 인증해야할 유저가 접근해ㅔ야될 페이지인것 같고 api 또한 아직은 Authorization 인증 토큰을 받은 유저가 아닌데 로그인 시에 넘어갔다! 라는게 의문점이신것 같아요. 로그인 타이밍에 인증토큰을 요구한다는게 좀 어색하기도 하구요. 1번은 그부분을 말씀하신것 같아요.
실제로 강의에서 request intercept의 헤더에 Authorization을 로그인 하기 전에 들어간 것 같네요.
-> 강의를 자세히 확인해보니 clearUsername이라는 mutations는 username만 '' 클리어하는 기능이고, 이전 로그인시에 token을 담아뒀는데 새로고침이 아니라 로그아웃 하였고 state에 남아있는 token이 이전 로그인 계정의 토큰이었고(어차피 같은 a@a.com 이긴하지만) 이것이 state에 아직남아있어 api request를 할때 헤더에 실린것 같아요.
실제 로그인 api는 Authorization이 필요없는 것 아닌가요??
1
2020. 03. 04. 21:26
답글 감사합니다.
그런데 제가 질문을 애매하게 한 것 같아 추가로 다시 문의드립니다.
1. Login에 대한 응답에 들어있는 token인데, 강의 영상에는 request의 Authorization에 token이 들어있습니다.
2. 넵
3. Options는 api request를 할 때, HTTP OPTIONS에 대한 질문이었습니다.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS
4. 궁극적으로 궁금한 부분은 아래와 같습니다.
a. login request 요청을 함
b. request 요청에 authorization 내부에 response의 token이 들어있음
c. 어떻게 해당 token이 들어 있는지?
답변 감사합니다 :)
정말 많이 배우고 있습니다 ^^
0
2020. 03. 04. 21:58
엇 Jaesik님 바로 답변 주셨군요. 구체적인 재질문 감사드립니다 :) 바로 답변 드릴게요.
1. request의 Authorization에 토큰이 실리는 것은 인터셉터에 정의한 코드 때문에 그렇습니다. 제가 질문을 잘 이해 못하고 있는데 이거 여쭤보시는 게 맞나요..? :)
3. 좋은 질문입니다. CORS의 동작 방식을 이해하셔야 왜 OPTIONS라는 요청이 먼저 날아가는지 이해하실 수 있는데요. 아래 링크 넣어드릴테니 한번 문서 쭉 살펴보세요 ㅎㅎ
https://developer.mozilla.org/ko/docs/Web/HTTP/CORS
4. 수업에서 구현하는 로직 흐름을 짧게 한번 정리해드릴게요.
a) 로그인 API 요청 및 성공
b) 로그인 API의 응답으로 받은 토큰을 스토어에 저장
c) 인터셉터에 정의된 코드가 매 API 요청마다 스토어에서 토큰을 꺼내 Authorization 속성에 연결
위 흐름을 보신 상태에서 이해 안가는 부분부터 다시 한번 영상을 살펴보시겠어요?
강의에 대해서 좋은 평가 해주셔서 감사드리고, 제가 답변 드리기 편하게 질문 잘 정리해주셔서 감사드립니다 :)
남은 수업도 재밌게 들으세요!
0
2020. 03. 04. 21:10
안녕하세요 JAESIK님, 질문 주신 내용 포인트로 짚어서 답변 드릴게요 :)
1. 수업에서 사용하는 토큰은 말씀하신 것처럼 로그인의 응답에 들어있는 토큰입니다.
2. 로그인 API 응답에서 취득한 토큰은 로그인 이후에 호출할 API를 인증할 때만 필요합니다. 수업 후반부쪽 가보시면 제가 로그인 하기 전 API인, LoginUser()와 signupUser() 등에는 인터셉터를 연결하지 않을거에요 :)
3. Options에 대한 질문은 참 좋은 질문이네요..! 생각해보니 제가 이번 수업에서 인스턴스를 생성할 때의 옵션에 대해서 자세히 설명하지 않았던 것 같은데 일반적으로 인스턴스에 공통으로 적용될 axios 설정 값들을 options 인자로 넘기시면 됩니다 ㅎㅎ axios 설정 값들에 대한 옵션은 다음 링크를 참고해보시면 좋을 것 같아요. https://github.com/axios/axios#request-config
좋은 질문들 남겨주셔서 감사합니다. 강의 수강해주셔서 감사드려요 :)