Google I/O 2022에서 Firebase의 새로운 기능을 확인하세요. 자세히 알아보기

맞춤 인증 시스템을 사용하여 Firebase로 인증

사용자가 성공적으로 로그인할 때 사용자 정의 서명 토큰을 생성하도록 인증 서버를 수정하여 Firebase 인증을 사용자 정의 인증 시스템과 통합할 수 있습니다. 앱은 이 토큰을 수신하고 Firebase 인증에 사용합니다.

시작하기 전에

  1. 아직 수행하지 않았다면 시작하기 가이드의 단계를 따르세요.
  2. Firebase Admin SDK를 설치하고 구성합니다 . Firebase 프로젝트에 대한 올바른 자격 증명으로 SDK를 초기화 해야 합니다.

Firebase로 인증

  1. 사용자가 앱에 로그인할 때 로그인 자격 증명(예: 사용자 이름 및 비밀번호)을 인증 서버로 보냅니다. 서버는 자격 증명을 확인하고 유효한 경우 맞춤 Firebase 토큰을 만들고 토큰을 앱으로 다시 보냅니다.

  2. 인증 서버에서 사용자 지정 토큰을 받은 후 이를 signInWithCustomToken() 에 전달하여 사용자를 로그인합니다.

    try {
        final userCredential =
            await FirebaseAuth.instance.signInWithCustomToken(token);
        print("Sign-in successful.");
    } on FirebaseAuthException catch (e) {
        switch (e.code) {
            case "invalid-custom-token":
                print("The supplied token is not a Firebase custom auth token.");
                break;
            case "custom-token-mismatch":
                print("The supplied token is for a different Firebase project.");
                break;
            default:
                print("Unkown error.");
        }
    }
    

다음 단계

사용자가 새 계정을 만든 후 이 계정은 Firebase 프로젝트의 일부로 저장되며 사용자가 사용한 로그인 방법에 관계없이 프로젝트의 모든 앱에서 사용자를 식별하는 데 사용할 수 있습니다.

앱에서 User 개체에서 사용자의 기본 프로필 정보를 가져올 수 있습니다. 사용자 관리 를 참조하십시오.

Firebase 실시간 데이터베이스 및 Cloud Storage 보안 규칙에서 auth 변수에서 로그인한 사용자의 고유한 사용자 ID를 가져와 사용자가 액세스할 수 있는 데이터를 제어하는 ​​데 사용할 수 있습니다.

인증 공급자 자격 증명 )을 기존 사용자 계정에 연결 하여 사용자가 여러 인증 공급자를 사용하여 앱에 로그인하도록 허용할 수 있습니다.

사용자를 로그아웃하려면 signOut() 을 호출하십시오.

await FirebaseAuth.instance.signOut();