GitHub 인증을 앱에 통합하여 사용자가 GitHub 계정을 사용하여 Firebase에 인증하도록 할 수 있습니다.
시작하기 전에
Firebase 인증 을 사용하려면 먼저 다음을 수행해야 합니다.
Unity 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다.
Unity 프로젝트에서 이미 Firebase를 사용하고 있다면 이미 Firebase용으로 등록 및 구성되어 있는 것입니다.
Unity 프로젝트가 없는 경우 샘플 앱 을 다운로드할 수 있습니다.
Firebase Unity SDK (특히
FirebaseAuth.unitypackage
)를 Unity 프로젝트에 추가합니다.
Unity 프로젝트에 Firebase를 추가하려면 Firebase 콘솔 과 열려 있는 Unity 프로젝트 모두의 작업이 필요합니다(예: 콘솔에서 Firebase 구성 파일을 다운로드한 다음 Unity 프로젝트로 이동).
Firebase.Auth
클래스에 액세스
FirebaseAuth
클래스는 모든 API 호출을 위한 게이트웨이입니다. FirebaseAuth.DefaultInstance 를 통해 액세스할 수 있습니다.Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Firebase로 인증
- Android 및 iOS+용 지침에 따라 로그인한 GitHub 사용자용 토큰을 받으세요.
- 사용자가 성공적으로 로그인한 후 액세스 토큰을 Firebase 자격 증명으로 교환하고 Firebase 자격 증명을 사용하여 Firebase에 인증합니다.
Firebase.Auth.Credential credential = Firebase.Auth.GitHubAuthProvider.GetCredential(accessToken); auth.SignInWithCredentialAsync(credential).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("SignInWithCredentialAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception); return; } Firebase.Auth.FirebaseUser newUser = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", newUser.DisplayName, newUser.UserId); });
다음 단계
사용자가 처음으로 로그인하면 새 사용자 계정이 생성되어 사용자가 로그인한 자격 증명(즉, 사용자 이름 및 암호, 전화 번호 또는 인증 공급자 정보)에 연결됩니다. 이 새 계정은 Firebase 프로젝트의 일부로 저장되며 사용자 로그인 방식에 관계없이 프로젝트의 모든 앱에서 사용자를 식별하는 데 사용할 수 있습니다.
앱에서
Firebase.Auth.FirebaseUser
객체에서 사용자의 기본 프로필 정보를 가져올 수 있습니다.Firebase.Auth.FirebaseUser user = auth.CurrentUser; if (user != null) { string name = user.DisplayName; string email = user.Email; System.Uri photo_url = user.PhotoUrl; // The user's Id, unique to the Firebase project. // Do NOT use this value to authenticate with your backend server, if you // have one; use User.TokenAsync() instead. string uid = user.UserId; }
Firebase 실시간 데이터베이스 및 Cloud Storage 보안 규칙 에서
auth
변수에서 로그인한 사용자의 고유 사용자 ID를 가져와 사용자가 액세스할 수 있는 데이터를 제어하는 데 사용할 수 있습니다.
인증 공급자 자격 증명을 기존 사용자 계정에 연결하여 사용자가 여러 인증 공급자를 사용하여 앱에 로그인하도록 허용할 수 있습니다.
사용자를 로그아웃하려면 SignOut()
을 호출하십시오.
auth.SignOut();