OIDC를 이용해서 웹 서비스를 구현할 예정입니다.
아래 링크는 OIDC가 아닌 임시code를 이용하여 토큰을 발급 받고 이를 Resource Server에 요청하는 시나리오이지만 프론트 또는 백엔드 중 하나에만 책임을 맡아서 구현을 하는 내용입니다.
https://www.devyummi.com/page?id=66934f448a005e7d8f32213a
저는 OIDC를 이용할때도 아래 사진을 보면 백엔드가 모든 책임을 맡는다고 생각합니다. Spring의 OAuth 2.0 Client 라이브러리를 사용하지 않고 직접 구현을한다면 아래의 과정처럼 생각했습니다.
- Step1에서 Rest API를 이용하여 프론트에서 백엔드를 호출하여 백엔드가 Get /oauth2/authorize 엔드포인트를 호출하여 백엔드로 리다이렉션을 통해 임시코드를 받아 프론트에 임시코드를 전송
- 프론트에서 임시코드를 파라미터로 백엔드에 전송하여 백엔드에서는 Post /oauth/token을 호출 후 토큰 발급
임시코드는 노출되어도 상관이 없는 지와 OIDC를 이용한 소셜로그인을 할 때 프론트와 백엔드의 동작과정이 궁금합니다.