Flutter supabase kakao login 관련 문의

문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.


앱 ID: 1174048, 1210575(테스트용)

안녕하세요 supabase_flutter로 카카오 로그인을 구현하는 중 도움을 요청합니다.

현재 앱은 com.app.tutrd (프로덕션)과 com.app.tutrd.dev로 스킴이 구분되어 있습니다.
카카오 애플리케이션에서는 원본 앱에 테스트용으로 앱을 만들어놨고, 패키지명,번들 ID에 .dev 붙은 것 말고는 전부 동일하게 세팅해놨습니다.

로그인 소스코드

supabase site URL: com.app.tutrd://oauth

androidManifest.xml

info.plist

현상:

안드로이드에서는 flavor dev일 때 로그인을 시도하면,
supabase.supabase_flutter: INFO: handle deeplink uri
I/flutter (22331): supabase.auth: WARNING: Notifying exception AuthException(message: Code verifier could not be found in local storage., statusCode: null, errorCode: null)
가 간혹 뜨면서 prod 앱으로 재시작(아마 리디렉션)이 됩니다.
flavor prod에서는 정상적으로 동작합니다.

반대로 안드로이드에서는 flavor dev일 때는 정상적으로 동작하는데,
prod에서 로그인을 시도하면 Tutrd가 아닌 Tutrd dev(dev모드 앱 이름)에서 열겠습니까? 모달이 떠서 제대로 리디렉션이 되지 않아 진행이 되지 않습니다.

도움 주신다면 정말 감사하겠습니다.

안녕하세요.

intent-filter와 CFBundleURLSchemes 보면 두 패키지가 모두 적혀 있는데요
dev와 아닌것 두 앱을 빌드 시 어느 한 정보는 제거하여 빌드해보시겠어요?

iOS 기준으로,
androidManifest와 info.plist, 로그인 소스코드에서 com.app.tutrd.dev를 모두 지우고 시도해봐도 dev모드에선 정상, prod 모드에선 dev로 열겠습니까?->로 실패합니다.

수파베이스 카카오톡 configuration에는 원본 앱의 REST API Key와 Client Secret Code가 들어있습니다.

조금 이해가 안 되는점은 테스트 앱에서 카카오톡 로그인을 비활성화시켜도 결과가 동일합니다.
dev 앱과 prod앱에서 어떻게 로그인을 둘다 성공시킬 수 있을까요?

+) 동시에 깔려있는 dev 앱을 지워보면 prod에서는 정상적으로 동작하는데, dev가 깔려있는 한 prod에서는 계속 dev 앱으로 돌아가려고 합니다

@정환0005

안녕하세요.

카카오 SDK가 아니라 수파베이스이용한다면 로그인 이후, 돌아가는 앱 선택은 카카오와 무관합니다.

카카오 SDK의 경우 되돌아갈 앱의 커스텀 스킴을 앱에 설정해놓고 로그인 시점에 앱키를 이용해 커스텀 스킴을 호출해 돌아갑니다.

즉, 수파베이스에서 돌아갈 앱의 조건이 있을것으로 보입니다.
( 카카오 SDK와 유사하게 앱 전용 스킴(Custom URL Scheme)을 호출할 것으로 추정되며 동일한 스킴이라면 OS에서 정한 순서로 호출되므로)

수파베이스측에 문의 해보시거나 dev 앱과 prod앱을 분리하여 구성해보시겠어요?