Android
안드로이드 개발시 Firebase Auth UI로 구글 인증을 할 때 다음과 같은 에러가 나면서 진행이 되지 않는다.
Caused by: java.lang.IllegalStateException: Check your google-services plugin configuration, the default_web_client_id string wasn't populated.
내 오랜 경험과 StackOverflow를 인용하면 다음 코드를 사용하면 된다.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestIdToken(getString(R.string.default_web_client_id)).requestEmail() .build();
그런데 이 때 R.string.default_web_client_id를 못 찾는 것이 문제이다.
그럼 requestIdToken에 하드코딩으로 붙여 넣으라고 한다.
그런데 문서를 보면 default_web_client_id가 어떻게 생성되는지 나온다.
// google-services.json 파일에서 다음 위치의 값이다
{YOUR_CLIENT}/oauth_client/client_id (client_type == 3)
그리고 이 부분에 client_id가 3이어야 하는데 나는 1이다. 이게 무엇을 의미하는지 아직 조사하지 않았는데 이 값을 3으로 고치고 rebuild 후 실행하면 R.string,default_web_client_id를 잘 찾는 듯 하고 구글 인증이 잘 진행된다.