구조는 예를들어 spa + rest api 라고 가정함.


어떤 홈페이지에서 api요청 전에 토큰 발급받으려고 client id와 client secret을 base64로 인코딩한다음


authorization 헤더에 넣어서 oauth에 fetch 요청 하더라고


이해가 안가는게


1. 만약 토큰 발급받으려는 로직이 자격없는 제 3자의 api요청을 방지하기 위해서라면


-> 프론트 소스코드에 떡하니 client id와 secret이 (환경변수로 안보이지만 관리자도구로 확인가능) 노출되어있는데 oauth로 토큰 발급받아봤자 제 3자도 


같은 client id와 secret으로 토큰 발급받아서 요청보낼수있지않나? 그렇다면 로직의 의미가 없는데 왜 위 로직을 사용하는거지?


2. 위의 이유가 아니라면 어떠한 이유때문에 api요청 전에 토큰을 발급받는거임?




나도 포폴땜에 spa + restapi로 프로젝트중이고, 내가 배포 + api 서버 담당했음.


관리자 페이지의 경우 로그인 후 jwt.발급으로 spring security에서 검증하는 로직을 진행했고,


일반적인 GET요청의 경우 api key만 헤더에 넣어서 요청보내고 검증후 api 값 반환하는식으로 진행했는데


아무리 생각해도 api key의.의미가 없음...


명쾌한 답변 부탁함