Google Signin, Google Login
https://github.com/googlesamples/google-signin-unity
- Firebase Auth을 사용하기 위해선 사용하려는 Provider (Google, Facebook 등)의 로그인이 선행되어야 합니다.
- Google로 로그인 하는 기능을 사용하기 위해서 Google API를 이용해서 로그인한 이후에 idToken값을 얻어올 필요가 있습니다.
- google login을 구현하지 않은 채로 Firebase 인증을 구현했을 때 발생한 에러
2023-12-15 21:29:13.469 4723 5272 Warn System Ignoring header X-Firebase-Locale because its value was null.
2023-12-15 21:29:13.502 4723 5272 Debug TrafficStats tagSocket(6) with statsTag=0xffffffff, statsUid=-1
2023-12-15 21:29:14.124 4723 4845 Info Unity One or more errors occurred. (The supplied auth credential is malformed or has expired. [ Unable to parse Google id_token: /*잘못 입력된 토큰 값*/ ])
- SHA1 중복 에러 해결 및 SHA256 추가 (실패)
-
파이어베이스 콘솔 > Android 앱 SDK 설정 및 구성 > SHA1 중복 에러 발생
- 기존 키스토어 삭제후 재생성한 내용으로 SHA1 교체
- SHA256 추가로 입력
-
keystore 및 Firebase 프로젝트 재생성후 SHA1만 추가한 뒤 google-services.json 파일 및
WEB_CLIENT_ID
교체 (성공)- 이전에 사용하던 Firebase 프로젝트를 사용해서 SHA1 중복 에러 발생 등 google-services.json의 설정 값들이 제대로 되어있지 않았던 것으로 보임.
-
Google 로그인과 Unity를 사용하여 인증하기 | Firebase
- googleIdToken: 구글 로그인을 통해 받아온 값으로 입력
- googleAccessToken: null
Firebase.Auth.Credential credential =
Firebase.Auth.GoogleAuthProvider.GetCredential(googleIdToken, googleAccessToken);
auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWith(task => {
if (task.IsCanceled) {
Debug.LogError("SignInAndRetrieveDataWithCredentialAsync was canceled.");
return;
}
if (task.IsFaulted) {
Debug.LogError("SignInAndRetrieveDataWithCredentialAsync encountered an error: " + task.Exception);
return;
}
Firebase.Auth.AuthResult result = task.Result;
Debug.LogFormat("User signed in successfully: {0} ({1})",
result.User.DisplayName, result.User.UserId);
});
- jre 설치 여부 확인
- 미설치 되었다면 설치 진행 (다운로드)
- 터미널 실행 (cmd, powershell)
- jre bin 폴더로 경로 이동
cd C:\Program Files\Java\jre-1.8\bin
- 지문을 가져오기 위한 커맨드 입력
keytool -keystore C:\GitHub\unity_title\title.keystore -list -v
-
키 저장소 비밀번호 입력 (keystore 비밀번호 입력)
-
SHA1, SHA256 지문 확인