코딩블로그
밥메이트-Feign Client로 OIDC구현(0) 본문
1. 기존의 Oauth AccessToken으로 회원가입할 때의 문제
응답값에 Oauth AccessToken이 해당 프로젝트에서 발급되었다는 사실을 확인할 수 없다는 것이 큰 문제이다.
토큰에는 해당 사용자에대한 프로필 정보만 내려오기 때문이다
따라서 따로 토큰에 대한 정보 보기를 요청하여 응답값으로 넘어온 app_id가 해당 프로젝트 앱의 app_id인지
2차로 확인하는 과정이 필요하다.
2. OIDC
https://developers.kakao.com/docs/latest/ko/kakaologin/common#oidc
OIDC 토큰은 카카오 로그인 사용자의 인증 정보를 제공하는 토큰이다.
보통 프로젝트를 할 때 카카오 로그인만으로 회원가입이 끝나지 않으므로 ID 토큰을 통해 "인증"을 하고
추가 정보를 앱 내에 받으면 그 정보와 함께 "인가"할 수 있는 토큰을 만드는 것이 보안상으로도 안전하다.
<OIDC의 작동방식>
OpenID Connect는 Access토큰과 함께 ID토큰을 전달한다. 이 JWT를 통해 암호화된 토큰안에 사용자 정보를 비롯한 다양한 정보를 HTTP헤더의 최대 사이즈인 4KB이내로 저장할 수 있다. 이로 인해 Access 토큰을 사용하여 한번 더 Oauth2.0 API를 호출할 필요없이 사용자 정보가 담긴 ID토큰을 복호화 하여 바로 사용할 수 있게 된다.
<OIDC의 장점>
- 상호 운용성
- 단순성, 모바일 지향 형식
- 보안
<정리>
OIDC는 OAuth 2.0 프로토콜을 기반으로 상위계층에서 Authorization을 가능케 하고 기존의 OAuth 2.0의 장점들을 수용하여 발전해 나가고 있다. 기존 OAuth2.0을 사용하고 있는 개발자에게 OpenID Connect 도입을 추천한다
출처
https://www.samsungsds.com/kr/insights/oidc.html
다음 포스팅은 Feign Client와 Redis를 이용하여 카카오 소셜 로그인 OIDC를 사용한 코드 및 정리에 관한 내용이다
'밥메이트' 카테고리의 다른 글
밥메이트-Feign Client로 OIDC구현(1) (1) | 2023.12.19 |
---|