이런 흐름으로 이루어진다고 생각하시면 좋습니다. (by 기종)
- 깃허브 로그인 성공
- 깃허브에서 리다이렉트 url로 우리 사이트로 이동
- 이 말은 리다이렉트 url을 브라우저 검색창에 치는 것과 같습니다.
- 우리 사이트 서버로 get 요청을 보냄
- 서버가 쿼리스트링에 있는 code를 갖고 어떻게 하겠죠?
- 서버가 우리 사이트의 메인 페이지로 리다이렉트
- 우리 사이트의 메인 페이지 url로 get 요청을 보냄
- 우리 사이트 서버가 html을 만들어서 클라이언트로 보냄
- 클라이언트가 메인 페이지를 볼 수 있음
리다이렉트 → 서버에서 html 보내줌 → 자바스크립트 보내줌 → 자바스크립트가 실행 → 프론트가 외부 사이트로 토큰 보내줌
vs
리다이렉트 → 서버에서 외부 사이트로 토큰 보내줌
으로 질문의 각 흐름을 요약할 수 있을 것 같습니다.
깃허브 로그인 페이지에 querystring에 redirect를 넘겨준
redirect가 서버에서만 쓰는 route
서버에서 토큰 받고 ⇒ client로 다시 redirect
서버에서 발급받은 oauth token을 토대로 뭔가 추가 작업을 할 수도 있지 않을까요?
oauth token을 토대로 jwt를 만든다던가 ⇒ jwt 만드는건 서버에서 만들어야하니까 ⇒ 서버에서 받으면 되지 않을까?