Programming

OIDC 이해와 구현 - 1

seandoesdev 2025. 7. 2. 00:18

OIDC Logo

 

알게된 계기

개인 프로젝트를 진행하면서 로그인을 어떤 식으로 구현하면 좋을지 계속해서 고민 중이었다. 내가 고려하고 있던 것은 spring security 프레임워크를 활용한 JWT 방식의 로그인과 OAuth2 방식의 소셜 로그인이다. 개발시간을 단축시키고자 자체 회원가입과 로그인은 제외하고, OAuth2 방식을 선택하려고 하였으나 OAuth2 방식의 이중통신이 마음에 들지 않았다.

 

https://youtu.be/-2Gm_JKK7yo?si=1bumSN1IMTyUwPUc

그러다 우연히 메타코딩님의 아래 유튜브 영상으로 이 글의 주제인 OIDC를 알게 되었다. 솔직히 방금 영상을 다 보고, OIDC 방식이 마음에 들어서 기록하고자 블로그를 켰다. 평소에는 노션에 남기는데, 이 주제는 블로그에 기록으로 남겨두고 싶었다.

 

OIDC

Open ID Connect 말의 줄임말로, OAuth2를 기반으로한 인증 프로토콜이다. 기존 OAuth2의 방식은 클라이언트가 AccessToken을 발급할 수 있는 곳에서 요청을 보내고 응답으로 AccessToken을 발급 받는다. 발급 받은 AccessToken은 클라이언트가 이용하려는 서비스의 서버에 요청으로 보내서, AccessToken을 받은 서버는 토큰을 발급 받은 곳에서 토큰을 검증하는 절차를 가진다.

 

// ! 그림 추가

 

그럼 OIDC는 클라언트가 토큰을 발급하는 곳에서 토큰을 발급 받고, 서버는 클라이언트가 보낸 토큰으로만으로도 이 클라언트에 대해서 인증까지 마칠 수 있게 된다.