TIL #123 google login

loci·2025년 1월 29일
0

TIL

목록 보기
114/114

3일 동안 고생했더 구글로그인

파이어베이스를 이용해 로그인 하는 것이 아니라 백엔드 서버에서 따로 처리할 예정이라 다르게 해야했다.

오류발생 1

버튼을 누르면 아무동작 없이 해당 오류 발생

androidx.credentials.exceptions.NoCredentialException: During begin sign in, failure response from one tap: 16: [28433] Cannot find a matching credential.

오류발생 2

androidx.credentials.exceptions.NoCredentialException: During begin sign in, failure response from one tap: 10: [28444] Developer console is not set up correctly.

오류발생 3

로그인 바텀시트가 나오고 버튼을 누르면 진행바가 잠시 나왔다가 바텀시트가 사라지며 해당 오류발생

androidx.credentials.exceptions.GetCredentialCancellationException: activity is cancelled by the user

해결 시도

  1. setFilterByAuthorizedAccounts(true)를 false로 바꿔준다 -> true로하면 기존 로그인 된 아이디가 있어야한다.
  2. 에뮬레이터가 구글로그인 되어있는지 확인
  3. Google Play Services 를 사용하기 때문에 최신 버전인지 확인
  4. SHA-1 키값이 올바른지 확인
  5. Client ID가 올바른지 확인

문제 해결

아이디 설정도 바꿔보고 여러 방법을 써봐도 3번쨰 오류가 해결 되지 않았는데 공식문서를 다시보니 google cloud console 에서 OAuth 2.0 클라이언트를 안드로이드와 웹 애플리케이션 두개를 다 만들어야 했었다. 대부분 블로그들을 보면 하나의 클라이언트만 만들고 있어서 둘 중 하나의 클라이언드만 만들었다 삭제하면서 문제가 해결 되지 않았던 것이다. 결국 클라이언트를 안드로이드와 웹 애플리케이션 모두 만들어 로그인하니 정상적으로 IdToken을 불러와 허탈하게도 문제가 해결 되었다.

-> 클라이언트 ID를 안드로이드와 웹 애플리케이션 두 개 모두 만들어야한다. + setServerClientId는 웹 애플리케이션의 클라이언트 ID로 넣어줘야 한다.

profile
편리한 개발자

0개의 댓글

관련 채용 정보