원스토어 구글 로그인

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 5.16.1
  • 프로젝트명 : PirateStory
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

구글 스토어 버전 빌드로 구글 로그인 시에는 정상 작동하는데 원스토어 버전 빌드로 구글 로그인 시에
Google Login Failed. Result onComplete ApiException : 10:
에러가 발생하는데 혹시 어느 부분을 살펴봐야 할까요?

원스토어 및 구글 로그인 관련 인증 키 값은 모두 정상적으로 적용한 것으로 보이고, 구글 클라우드 플랫폼에 원스토어 서명도 모두 적용한 상태입니다. 프로모션 상태에 외부로 설정된 상태구요.
로그인 시도 하는 이메일 계정 역시 테스트 계정으로 등록된 상태입니다.

해당 에러에 대해 살펴봐야 할 부분들은 모두 살펴보아도 계속 동일한 오류가 발생하는데, 혹시 뒤끝 인증 해야 할 내용 중 제가 누락한 부분이 있을까요?

안녕하세요 개발자님,
원스토어용 빌드에도 완전히 동일한 패키지 네임이 적용되어 있는 상황이실까요?

네 동일한 패키지 네임으로 설정했습니다

관련 내용 확인하여 안내드릴 수 있도록 하겠습니다.

원스토어 버전의 구글 로그인 시도와 관련하여
빌드 후 직접 디바이스에 설치하여 테스트하신 것인지, 원스토어에 업로드 후 다운로드하여 테스트하신 것인지 확인 요청드립니다.

원스토어 역시 구글과 마찬가지로 서명키가 존재하기 때문에 만약 원스토어에서 다운로드하여 설치한 것이라면,
원스토어의 서명키가 구글 클라우드 플랫폼 OAuth 클라이언트 ID에 등록되어 있어야 합니다.
관련하여 확인하여 주시면 감사하겠습니다.

원스토어 업로드 후 다운로드하여 테스트했습니다.
정확히는 업로드 한 앱 번들에서 apk 를 추출해서 테스트했습니다.

원스토어 서명 키 역시 구글 클라우드 플랫폼 OAuth 에 등록된 상태입니다.

현재 뒤끝에서 정확히 확인할 수 있는 정보가 부족하여 명확한 안내가 어려운 점 양해 부탁리며
안내드리는 내용 참고하여 다시 확인하여 주시면 감사하겠습니다.

다운로드하신 앱번들(AAB파일)에서 서명키 정보를 확인하기 위해서 다음과 같은 방법으로 진행 부탁드립니다.

  1. AAB 파일의 압축 해제하여 META-INF 폴더 내에 있는 인증서 파일(yourapp.RSA)을 찾습니다.

  2. Java의 keytool 명령어를 사용하여 인증키를 확인합니다.
    자바가 설치 되어 있어야 하며 명령 프롬프트에서 다음과 같이 입력합니다.
    javaPATH는 이용 환경의 자바가 설치된 경로를 입력해주시면 됩니다.

  3. 명령어 : [javaPATH]\bin keytool -printcert -file [RSA파일경로]\yourapp.RSA

  4. 프롬프트 창에서 나온 SHA-1 지문이 클라이언트 ID와 동일하게 입력되어 있는지 확인 부탁 드리겠습니다.

네 콘솔에 적용된 인증 키 값과 동일합니다.

구글 로그인 오류와 관련하여 대부분의 설정을 점검하셨음에도 불구하고 지속 문제가 발생하고 있는 것으로 보입니다.
정확한 문제 해결을 위해 재차 세심한 점검을 부탁 드리고자 합니다.

1.아래 항목이 구글 클라우드 플랫폼의 OAuth 클라이언트 ID에 모두 올바르게 등록되어 있는지 확인 부탁드립니다.

  • 구글 업로드 키의 SHA-1 인증서 지문
  • 구글 플레이 서명 키의 SHA-1 인증서 지문 (구글에서 최종 배포 시 사용하는 키)
  • 원스토어 업로드키의 SHA-1 인증서 지문 (구글 업로드 키와 다르게 사용중 일 때)
  • 원스토어 서명 키의 SHA-1 인증서 지문 (원스토어에서 최종 배포 시 사용하는 키)
  • iOS 앱 서명 키 (iOS를 지원하는 경우)
  • 웹 클라이언트 키

2.현재 원스토어에 업로드하신 AAB 파일에서 추출한 APK가 아닌,
원스토어에 실제로 업로드하기 위한 APK 파일을 따로 빌드하여 디바이스에 직접 설치 후 동일한 문제가 발생하는지 테스트해주시면 큰 도움이 될 것 같습니다.

번거로우시겠지만 재차 확인을 부탁드리며 그럼에도 지속 오류가 발생하는 경우,
logcat 같은 로그 확인 툴을 사용하여 오류 로그를 전달해주시면 보다 자세히 원인을 파악할 수 있도록 최대한 도움을 드리겠습니다.

감사합니다.

전달 주신대로 인증서 지문을 다시 체크하기 전에 한번 더 테스트해보려는 의도로 접속해봤는데,
2일 전 (25.03.19) 에 테스트 당시에는 구글 로그인이 계속 실패했었는데
현재 (25.03.21) 다시 한번 테스트 해보니 정상 작동합니다.
테스트 하는 빌드도 동일한 빌드고 스토어도 이전에 수정한 내용이 없는데 갑자기 작동하네요.
혹시 체크 해볼 사항이 있을까요?

추가 내용 전달 드립니다. 11시 경 테스트 시 정상 접속 됐는데,
현재 다시 또 동일한 오류가 발생하네요.
이전에 접속이 됐던 적이 있는 걸로 봐선 인증 키는 정상인거 같은데
왜 되는 경우가 있고 안되는 경우가 있는걸까요?

abb 파일 같은 경우 일반 apk 로 테스트 시에는 정상 작동합니다.
원스토어에 업로드 한 빌드로 테스트할 경우만 오류가 발생합니다.

좋아요 1

뒤끝 서버 내에서는 별도의 작업은 이루어지지 않은 상황입니다.
담당 부서에서 상세 확인중에 있으며 확인 후 안내드릴 수 있도록 하겠습니다.

문의해주신 원스토어 로그인 오류와 관련하여 추가로 확인 요청드립니다.

원스토어에 AAB 파일을 업로드하실 때, 원스토어에서 제공하는 앱 서명 기능이 활성화되어 있다면,
원스토어가 자체적으로 서명 키를 생성해 앱을 재서명하게 됩니다.
이 경우 기존에 사용하던 서명 키와 다른 키가 적용될 수 있고 이에 따라 SHA-1 지문도 달라질 수 있습니다.

뒤끝에서 제공하는 Backend.Utils.GetGoogleHash() 함수를 통해,
기기에서 실제로 설치된 앱의 Google 해시키를 확인하실 수 있습니다.
이 함수는 앱에 적용된 서명 키 기반으로 해시키를 생성하기 때문에, 로그인 성공/실패 상황에서 서명 키가 달라졌는지 확인할 수 있습니다.

  1. Backend.Utils.GetGoogleHash() 함수로 로그인 성공 시와 실패 시 해시키 값을 각각 출력하여 비교
  2. 만약 해시키 값이 다를 경우, 어떤 빌드 방식이나 설치 방법에서 달라졌는지 확인

더불어 원스토어용과 구글용 빌드에서 동일한 키스토어와 사이닝 키(alias)가 적용되고 있는지도 확인 부탁드립니다
키스토어나 사이닝 키가 다를 경우 SHA-1 지문도 달라지며 이는 인증 오류로 이어질 수 있습니다.

앱 설치 시에는 기존에 설치되어 있는 앱을 꼭 삭제한 후 설치해 주시길 권장드립니다.
덮어씌워 설치 시 캐시된 데이터나 서명 정보가 꼬일 가능성 방지를 위함입니다
AAB 파일을 원스토어에서 실제 출시된 버전이나 테스터 다운로드 링크로 설치하는 방법으로 테스트를 확인해 주시면 더 확실히 파악 가능합니다.
구글 빌드와 원스토어 빌드에서 로그인 로직이 완전히 동일한지도 다시 한 번 확인 부탁드립니다.

마지막으로, 로그인 실패 시 발생하는 에러 메시지를 함께 전달해 주시면,
보다 빠르게 원인을 파악해 도움 드릴 수 있을 것 같습니다.

우선 키스토어는 구글용 빌드와 동일한 키스토어 파일을 사용 중입니다.

말씀하신대로 Backend.Utils.GetGoogleHash() 함수로 체크했을때 구글 콘솔에 등록된 키 값과 동일하게 나오고 있습니다.

  1. 앱번들 등록 후 apk 추출 → -
  2. 그냥 apk 로 테스트 → -

1번 같은 경우 디버그 키가 나오고 2번 같은 경우 릴리즈 키가 나오네요.
1번은 로그인 실패하고
2번은 로그인 성공 합니다.

원스토어가 아닌 구글빌드에서 1번과 동일한 해시키가 사용되는 빌드 정보도 확인이 가능할까요?
구글 스토어 다운로드 빌드인지, apk 빌드인지 등 동일 해시키가 사용되는 빌드 정보가 있는지 확인하고자 합니다.

구글 빌드에서도 동일한 방식으로 테스트할 경우 어떤 키 값이 나오는지 확인 해 달라는 말씀이신가요?

네 맞습니다,
작성해주신 해시키는 정보 보호를 위해 삭제하였습니다.
확인 후 공유 시 정보 보호를 위해 DM을 통해 공유해 주시면 감사하겠습니다!

DM을 통해 보내주신 정보 모두 확인하였습니다.

원스토어 aab에서 추출한 apk의 해시값이 디버그키의 해시값과 동일한지 확인 부탁드립니다.
만약 동일하다면 aab를 추출할 때, 서명을 위한 keystore를 별도 지정하지 않아 개발pc에서 사용중인 debug용 keystore로 서명된 것입니다.
따라서 업로드키 및 서명키가 아니기 때문에 구글 로그인을 할 수 없습니다.

aab에서 추출한 apk로 설치하여 테스트 하고자 하시면 debug용 keystore에서 sha1값을 확인한 후, 해당 값을 구글 클라우드에 등록하시거나
apk 빌드시에 사용한 keystore를 사용하여 apk를 추출하시면 구글 로그인 테스트가 가능합니다.

전달 해주신 내용 대로라면 aab 에서 추출한 apk 가 아닌 그냥 스토어에서 직접 다운 받아서 테스트할 경우 정상 작동할 수 있다는 말씀이신가요?

네 맞습니다.
스토어에서 직접 다운로드한 앱은 업로드 키와 서명 키로 서명되어 배포되기 때문에, 해당 서명키가 구글 클라우드 플랫폼에 등록되어 있다면 Google 로그인이 정상적으로 작동합니다.
aab에서 추출한 apk는 별도 keystore를 지정하지 않으면 개발 PC의 debug keystore로 서명되기 때문에 Google 로그인에 문제가 생길 수 있습니다.