Firebase는 앱 개발자들에게 Server 개발의 부담을 줄여주는 훌륭한 서비스를 제공한다
(Storage, DB, Auth 등등)
Google Firebase Auth를 이용하면서 격었던 Error들 정리하여 포스팅 한다.
우선 Google Plus Account 를 이용하여 Firebase Auth에 연결하는데 알수 없는 에러들이 발생 하였었다.
(Google Firebase doc이 한글을 지원하지만, 부족한 부분이 많아 영문으로 변경해야 제대로 나오는 것들이 많다 -_-..)
1. Status{statusCode=unknown status code: 12501, resolution=null}
- Unknown status code :12501 error
Google Plus 계정을 Firebase Auth로 연동하기 위해서는 GoogleSignInOption 객체를 생성할 때
requestIdToken을 지정해 주어야 한다.
위 에러는 requestIdToken에 문제가 있어 발생하는 에러이다.
(Application Signing key SHA-1 값이 달라도 발생하긴 하지만, 이부분은 기본적은 부분이라 제외)
requestIdToken을 설정하지 않으면, 계정 정보를 문제 없이 가져 올 수 있다.
requestIdToken(String key)
이 부분에 Android OAuth2.0 Client ID가 들어가는 것이 아니라
Backend ClientId가 들어가야 하는 것이다.
즉 웹 어플리케이션의 클라이언트 ID가 들어가야한다.
(Firebase Auth 연동시 requestIdToken이 들어가야 하는 이유는 Firebase Auth에 Token을 넘겨 연동하기 때문이다.
만약 requestIdToken을 설정 하지 않으면 GoogleSignInAccount객체의 idToken값이 null로 넘어온다.)
https://console.developers.google.com
requestIdToken의 값을 변경 하면 지긋지긋한 Unknown status code :12501 error 문제는 사라진다.
2. onComlete 이후 task 결과가 isSuccessful() 가 false 인 경우
requestIdToken이 정상적으로 요청이 되어 해당 GooglePlus ID에 token이 정상적으로 발급 됐다.
기분 좋게 마지막 연동작업을 하는데 onComlete Listener에서 성공하지 못 하는 ㅈ 같은 문제가 발생한다.
(아 스트레슼ㅋㅋㅋㅋㅋ)
이부분에 문제는 Firebase Auth 설정에 문제가 있어 발생한다.
당연히 Google Plus가 사용 설정으로 되어야 한다.
수정 버튼을 눌러 웹 SDK 구성을 살펴보자
이곳에 웹 클라이언트 ID와 웹 클라이언트 보안 비밀 Key가 들어가야하는데,
Dev console에 들어가 웹 애플리케이션의 Client Id, Sercure key를 확인하여 Firebase Auth Google 설정에 입력하자.
https://console.developers.google.com
'개발 > 안드로이드' 카테고리의 다른 글
개발 맥북 macOS Sierra 업데이트 시 주의 사항 (0) | 2016.12.01 |
---|---|
안드로이드 에러 처리 (Java try - catch - finally) (0) | 2016.12.01 |
Mac book macOS Sierra! 업그레이드 완료! (0) | 2016.12.01 |
안드로이드 순환 타이머 앱! R Timer / 반복타이머/ 순환타이머 (0) | 2016.11.30 |
Curl을 이용한 안드로이드 GCM 전송 (0) | 2016.11.30 |