안녕하세요.(앱 아이디(app ID): ID 1031533)
Supabase에서 제공하는 Kakao OAuth를 사용하고 있습니다.
개인정보 동의심사를 통과하였는데요, 유저가 앱 동의시 새로 승인받은 항목들은 필수 동의항목에 포함되지 않아 질문드립니다. 승인 후 다른 설정을 해야하는 것이 있는지 질의드립니다.
-
- 카카오 디벨로퍼스 내 동의화면 미리보기
-
- 실제 유저 간편가입시 현재 상태
감사합니다.
안녕하세요.
scopes 파라미터를 사용, 동의 받고자 하는 항목을 첨부 이미지와 같이 일부만 지정하여 사용하고 있습니다.
scopes 파라미터를 제거하시거나 승인받은 항목을 입력 부탁드립니다.
Scope 파라미터 추가후 유저 동의를 받으면, Access Token에 관련 정보들(전화번호, 생년월일 등)도 함께 반환이 되는 것이 맞을까요?
감사합니다.
scope를 지정하여 아래와 같이 동의항목에 뜨는 것을 확인하였습니다.
하지만, 실제로 받은 user data key/value를 확인해 보니 예상했던 모든 정보가 포함되어 있지 않습니다. 이름, 전화번호, 출생년도 등의 추가 정보를 받으려면 어떤 추가 설정이나 단계가 필요한지 궁금합니다.
“user_metadata”: {
“avatar_url”: “http://k.kakaocdn.net/****.jpg”,
“email”: “수정함”,
“email_verified”: true,
“full_name”: “수정함”,
“iss”: “https://kapi.kakao.com”,
“name”: “수정함”,
“phone_verified”: false,
“preferred_username”: “수정함”,
“provider_id”: “3487644026”,
“sub”: “3487644026”,
“user_name”: “수정함”
},
감사합니다.
해당 사용자의 이름, 전화번호, 출생년도가 정상적으로 반환되었습니다.
카카오로 부터 전달된 데이터를 supabase 쪽metadata로 업데이트 어떻게 하고 계신가요?
현재 Supabase쪽에서는, 직접 업데이트 로직은 구현한 것은 아닙니다.
카카오 회원가입 시 supabase 자체에서 관리하는 유저 테이블을 활용하고 있습니다.
해당 테이블 아래에는 metadata가 아래와 같이 저장이 되고 있습니다.
{
“iss”: “https://kapi.kakao.com”,
“sub”: “",
“name”: ")”,
“email”: “",
“full_name”: ")”,
“user_name”: “)",
“avatar_url”: "http://.jpg”,
“provider_id”: “3487644026”,
“email_verified”: true,
“phone_verified”: false,
“preferred_username”: “****)”
}
감사합니다.
Frontend 에서는 Auth UI 컴포넌트를 아래와 같이 사용하고 있습니다.
<Auth
supabaseClient={supabase}
appearance={{
theme: ThemeSupa,
variables: {
default: {
colors: {
inputText: 'white', // Set input text color to white
},
},
}
}}
localization={localization}
providers={["kakao"]}
redirectTo={redirectUrl}
providerScopes={{
kakao: 'profile_nickname profile_image account_email phone_number name birthyear'
}}
className="mb-4 w-full p-3 rounded-md border border-gray-700 bg-gray-800 text-white placeholder-gray-500 focus:outline-none focus:border-blue-500"
/>
사용자 정보에서 필요한 정보를 직접 추출하여 업데이트 하도록 구현하셔야만 합니다.
현재 Supabase가 제공하는 kakao 로그인의 metadata 업데이트는 nickname, profile_image_url, email, is_email_valid, is_email_verified 만 지원하고 있습니다.