글로 정리하자면 다음과 같다.
사용자 로그인 클릭
-> 소셜 로그인 페이지
-> 로그인 성공 시 설정해둔 리다이렉션 url로 넘어가짐
-> url에 포함된 code=xxxx를 가지고 api요청
-> 리프레시 토큰, 액세스 토큰 등 받음.
이런 식으로 구현이 됩니다.
2번은 백에서 하는게 맞다고 생각한다. api요청을 한다는 것은 액세스토큰을 프론트가 갖는다는 것인데 이건 옳지 못한 방법이라고 생각한다.
(옳지 않은 이유에 대해서는 더 공부해봐야 할 것 같다.)
1번은 이제 프론트가 하던 백이 하던 결국 사용자의 url이 넘어가기 때문에 누가 하던 상관 없을 것 같다는 생각이 든다.
그래서 프론트가 가능하다면 프론트가 하고 백이 가능하다면 백이 하면 될 것 같다. 라는 생각.
백이 하게 된다면 (스프링-시큐리티) 라는 프레임워크를 이용해 구현하면 간단하게 할 수 있다고 하는데 확인해보지는 못했다.