Appwrite(BaaS)와 OpenID Connect 호환성 문제

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.


개발환경: Windows

디벨로퍼스 앱 ID: **1463213
**
안녕하세요, 저는 현재 Supabase와 비슷한 Appwrite라는 BaaS로 앱을 서비스하려고 준비중입니다.

카카오 로그인 구현을 위해 OpenID Connect로 연결은 해놨는데, 지속적으로 아래와 같은 오류가 발생합니다.

하지만, https://kauth.kakao.com/.well-known/openid-configuration 에서 scope를 살펴보면
“claims_supported”:[“iss”,“aud”,“sub”,“auth_time”,“exp”,“iat”,“nonce”,“nickname”,“picture”,“email”]
이 나오고 있습니다.

여기서 여쭤보고 싶은 건,

  1. 왜 claims_supported에 ‘openid’가 없는지
  2. 왜 ‘email’이 설정하지 않은 동의 항목으로 뜨는지
  3. 이외의 해당 오류를 해결할 수 있는 좋은 방법

을 알려주시면 감사드리겠습니다.

KOE205
invalid_scope 앱에 설정하지 않은 카카오 로그인 동의항목을 포함해 인가 코드를 요청한 경우 발생하는 에러입니다.

  1. 카카오로그인 > 일반 > OpenID Connect 설정을 활성화 하셨다면 openid scope 허용됩니다.

  2. 카카오로그인 > 동의항목 에서 확인 가능합니다. 이메일의 scope은 account_email 입니다.

  3. profile 항목은 없습니다. profile_nickname, profile_image 입니다.

카카오로그인 > 동의항목 에서 확인 부탁드려요.

OpenID Connect는 당연히 활성화하였습니다.

그럼에도 불구하고 openid가 저기에 끼어 있는데 왜 그런걸까요?

또한 .well-known에 있는 claims_supported는 어떤 경우에 쓰이는지도 묻고 싶습니다. (여기에 email 이 있기 때문에 여쭤봅니다)

에러 화면에 표기된 scope은 카카오가 처리하는 것이 아니라 인가코드요청 시, scope파라메터에 설정하여 요청했기 때문에 발생하는 것이고

openid 는 OpenID Connect를 활성화 하였으므로 허용됩니다. ( 기재하신 앱으로 인가코드요청하여 확인 하였습니다. )

.well-known에 있는 claims_supported 에 있는 항목은 OIDC ID Token/UserInfo에 포함되는 내용을 기재한 것입니다. (scope 파라메터에 설정하는 개인정보 동의항목과 다른 내용)

인가코드요청 scope에는 앞서 안내드린 동의항목에서 확인가능한 값을 사용하시면됩니다.