Skip to content

Latest commit

 

History

History
80 lines (57 loc) · 3.39 KB

README.md

File metadata and controls

80 lines (57 loc) · 3.39 KB

Google 로그인 인증 사용하기

Google Signin, Google Login

Google 로그인 구현

https://github.com/googlesamples/google-signin-unity

  • Firebase Auth을 사용하기 위해선 사용하려는 Provider (Google, Facebook 등)의 로그인이 선행되어야 합니다.
  • Google로 로그인 하는 기능을 사용하기 위해서 Google API를 이용해서 로그인한 이후에 idToken값을 얻어올 필요가 있습니다.

The supplied auth credential is malformed or has expired. **Unable to parse Google id_token**

  • 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: /*잘못 입력된 토큰 값*/ ])

Got Error: DeveloperError Exception of type 'Google.GoogleSignIn+SignInException' was thrown.

  • SHA1 중복 에러 해결 및 SHA256 추가 (실패)
    • 파이어베이스 콘솔 > Android 앱 SDK 설정 및 구성 > SHA1 중복 에러 발생

      • 기존 키스토어 삭제후 재생성한 내용으로 SHA1 교체
      • SHA256 추가로 입력

      Unity Firebase Google SignIn Error Help

    • keystore 및 Firebase 프로젝트 재생성후 SHA1만 추가한 뒤 google-services.json 파일 및 WEB_CLIENT_ID 교체 (성공)

      • 이전에 사용하던 Firebase 프로젝트를 사용해서 SHA1 중복 에러 발생 등 google-services.json의 설정 값들이 제대로 되어있지 않았던 것으로 보임.

Firebase 인증 구현

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);
});

SHA-1, SHA256 지문 알아내기

  1. jre 설치 여부 확인
    1. 미설치 되었다면 설치 진행 (다운로드)
  2. 터미널 실행 (cmd, powershell)
  3. jre bin 폴더로 경로 이동
cd C:\Program Files\Java\jre-1.8\bin
  1. 지문을 가져오기 위한 커맨드 입력
keytool -keystore C:\GitHub\unity_title\title.keystore -list -v
  1. 키 저장소 비밀번호 입력 (keystore 비밀번호 입력)

  2. SHA1, SHA256 지문 확인

Untitled