서론
[RequestTokenManager] getToken() -> NETWORK_ERROR. App: com.example.practice_project, Service: oauth2:email openid profile
aoav: Error when calling server using GmsNetworkStack.
라는 생전 처음 보는 오류..
어디서 생겼나면
val currentUser = Firebase.auth.currentUser
if (currentUser == null) {
firebaseAuth = FirebaseAuth.getInstance()
launcher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
Log.v("google", "1, resultCode: ${result.resultCode}입니다.")
...
이 곳입니다 파이어베이스를 통해서 구글 소셜 로그인에서 문제가 생긴건데요.
claude에게 물어봤더니
1. 인터넷 연결 문제
불안정한 Wi-Fi 또는 모바일 데이터 연결
네트워크 신호 약화
서버 연결 시간 초과
2. OAuth 서비스 관련 문제
Google 인증 서버의 일시적인 장애
앱의 OAuth 구성 문제
잘못된 인증 자격 증명
3. 앱 또는 디바이스 관련 문제
오래된 앱 버전
캐시 및 데이터 문제
디바이스의 시스템 설정 문제
4. 해결 방법:
인터넷 연결 확인
앱 다시 시작
앱 캐시 및 데이터 지우기
Google Play 서비스 업데이트
디바이스 재부팅
앱 재설치
라는데요
전혀 아니였죠? 일단 해결 방법이 전혀 없었고, 속해있지도 않음 ㅋㅋ
결론
적으로
이 문제는 Google API의 OAuth를 사용할 때 클라이언트 ID문제인데요
최근에 플레이 콘솔에 업로드 하기 위해서 Firebase랑 GCP 를 들락날락하면서 Play Integrity API도 연동 준비를 맞춰놓으면서
GCP의 API Key나 서비스계정을 재발급받고 하는 등, 뭔가 건드리면 안될 것들을 건드려서 킹리적 갓심으로 이 부분이 문제라고 생각했습니다.
그래서 뒤져본바 띠용 OAuth 2.0 클라이언트 ID가 하나 더 생겼네? 라는 걸 발견
string.xml 에서 해당 client ID를 예전것 -> 새 것 으로 고쳐서 다시 client 요청했더니
이 구글 버튼을 클릭해서 로그인이 진행될 때 요청하는 client_id를 수정해줘야 한다는 것 !
CoroutineScope(Dispatchers.IO).launch {
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken("OAuth 클라이언트 ID")
.requestEmail()
.build()
val googleSignInClient = GoogleSignIn.getClient(context, gso)
val signInIntent: Intent = googleSignInClient.signInIntent
launcher.launch(signInIntent)
}
response.code = -1 로 완료
'개발 > 디버깅과 그외' 카테고리의 다른 글
키오스크 이미지 목업 이미지, 키오스크 목업 (0) | 2024.11.25 |
---|---|
[ 개발 ] 주석에 대한 고찰 (0) | 2024.11.23 |
[ Kotlin ] 디버깅 시간 not attached to a context (0) | 2024.11.21 |