카카오 로그인 OIDC

우선 카카오 로그인 OIDC 지원에 감사합니다.

다름이 아니라, 현재 로그인은 Firebase Auth 를 이용하고있는데, 카카오 로그인 시 custom token 으로 로그인을 진행중입니다.
OIDC 지원소식에 기존 방식을 OIDC 를 사용하도록 변경하는 중 문제가 발생하여 문의드립니다.

Firebase 에서 OIDC 지원이 되지 않아서, Google Cloud 의 Identity Platform 을 통해서 카카오 OIDC 연결 작업을 하고 있습니다.
카카오 OIDC 활성화를 위해서 가이드에 안내된대로 활성화 작업과 필요한 설정을 마치고 추가적으로 client secret 도 생성했습니다.

clientId: REST API KEY
clientSecret: CLIENT_SECRET
issuer: ‘https://kauth.kakao.com

로 설정하고, Authorization Code Flow 를 사용하도록 설정해서 responseType 을 ‘code’ 로 설정하여 요청하는데,

카카오 로그인까지는 정상적으로 완료가 되고, 그 후 응답이 아래와 같이 반환됩니다.

error=invalid_client&error_description=Bad%20client%20credentials&error_code=KOE010

혹시 잘못된 설정이 있는지, 또는 추가 설정이 필요한지 궁금합니다.

안녕하세요.

KOE010 오류는 client secret기능을 활성화 하였지만
토큰 요청 시, 파라메터로 유효한 client_secret 값이 넘어오지 않았을 때 발생하는 오류 입니다…

Authorization Code Flow 설정 시, 클라이언트 보안 비밀번호 항목을 설정 하셨을까요?

안녕하세요. 빠른 답변 고맙습니다!

네. GCP Identity Platform 이라는 서비스에서 에서 OIDC provider 등록할 때 Code Flow 방식과 Implicit Flow 두가지 중 하나를 선택하게 되어있는데 Code Flow 선택 시 Client Secret 값이 필수값이라서 카카오에서 발급받은 값으로 설정 해놓은 상태입니다.
관련해서 구글에도 문의중인 상태입니다!

추가적인 설정은 필요 없는걸로 이해하면 될까요?

좀 더 정확한 확인을 위해 앱 ID 부탁드립니다.


앱ID
https://developers.kakao.com/ 의 내 애플리케이션>앱 설정>요약 정보 : 기본정보에 있는 앱 ID
숫자로된 ID 입니다

ex) 123456

앱 ID 공유 드립니다!

691188

입니다.

로그를 살펴보니 접근토큰 발급 시, client_id 값이 client_id 파라메터로 전달되어야 하나 Authorization 헤더로 넘어오고 있습니다.

이 부분 확인 부탁드립니다.

네네! 확인 감사합니다.

@woody.ho 안녕하세요. 스펙 관련 문의 드립니다.

OIDC 스펙문서를 보던 중 Token Endpoint 의 Client Authentication 항목에서

HTTP Basic authentication 과 parameter 방식 두가지 방법을 기술하고있는데, 혹시 후자만 구현이 된걸까요?

잘못 이해한 부분이 있을 수 있습니다. 양해를 구합니다.

감사합니다.

참고문서

https://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint
https://datatracker.ietf.org/doc/html/rfc6749#section-3.2
https://datatracker.ietf.org/doc/html/rfc6749#section-2.3

안녕하세요.

현재 카카오 로그인은 authorization_code 유형으로만 지원되므로 기본인증과 같은 유형의 처리는 지원하지 않고 있습니다.

Firebase 에서도 OIDC를 지원하게 되어 적용해보려하는데요.
아래와 같은 화면에서는 어떤 값을 채워넣어야 하나요??
카카오 로그인 문서에는 정확히 지칭하는 부분이 없어서 확신이 없습니다.
(ex. 클라이언트 ID,보안 비밀번호, 발급자가 문서 중 어느 부분인지)
image

안녕하세요.

아래처럼 사용해보시겠어요?

항목
이름 kakao (oidc.kakao)
클라이언트ID REST API 키
발급자 URL https://kauth.kakao.com/.well-known/openid-configuration
클라이언트 보안 비밀번호 내 애플리케이션 > 제품 설정 > 카카오 로그인 > 보안 메뉴의 코드 (사용을 원하는 경우에만 활성화)
1개의 좋아요

클라이언트 ID는 예상했지만
비밀번호는 몰랐네요 감사합니다.

Google Identity Platform(Firebase Authentication) 에서
Issuer(URL) 를 아래와 같이 설정하니까 동작합니다.
Screenshot 2023-04-10 at 18.23.15

2개의 좋아요