안녕하세요!
해당 글에 대한 상세한 답변을 관련해서 궁금한 부분을 여쭤보고자 합니다!
즉, 인가코드를 브라우저에 한번 들렸다가 백엔드로 전달하는 것은 서비스 측 요구사항에 따라 그렇게 구현할 수도 있겠지만 일반적으로 권장드리지 않습니다
웹의 경우는 모든 책임을 서버쪽에 주어서 토큰을 redirect시에 쿠키에 담아서 전송하는 부분을 권장하시는 걸로 알고있습니다.
서버 작업자와 클라이언트 작업자가 서로 다르고 작업 공간이 다른 경우, 로컬 서버를 직접 제공하지 않고 서버 쪽에서 실제 도메인을 만들어 미리 띄운 서버에서 클라이언트가 API를 테스트하는 과정에서 쿠키 방식으로는 생각보다 번거로운 작업이 많이 생깁니다. 따라서 아래와 같이 작업한다면 서비스 측 요구사항에 따라 구현했다고 볼 수 있을까요?
예) api.xxxx.com
(서버)와 localhost:8080
(클라이언트)
작업 절차
/oauth/authorize
를 통해 인가 코드를 부여받은 후, 리디렉트 URI를 클라이언트로 가져옵니다.- 클라이언트는 이 코드를 서버(백엔드)로 전송합니다.
- 서버(백엔드)는
/oauth/token
으로 요청을 보내 토큰을 받습니다. - 사용자 정보를 토대로 자체적인 jwt 토큰을 생성한다
- 서버(백엔드)는 자체적으로 만든 jwt 토큰을 담아서 responseBody에 담아 클라이언트에 반환합니다.
이렇게 작업을 진행하면 JSON 데이터를 활용해 인증을 처리하기 더 쉬울 것 같은데, 이로 인해 발생할 수 있는 가장 큰 문제가 무엇일까요?