Firebase 없이 Google 로그인

Google 로그인에 대한 많은 자습서는 Firebase를 사용하고 있지만 Google 로그인에는 Firebase가 필요하지 않습니다. 다른 Firebase 서비스를 함께 사용하고 싶지 않다면 Google Cloud Platform으로 바로 로그인하면 됩니다. 실제로 Firebase 로그인도 Google Cloud Platform을 사용하고 있습니다. 차이점은 Firebase가 자동으로 Google Cloud Platform에서 프로젝트를 생성하고 다음 구성을 만드는 데 도움을 준다는 것입니다. 이 문서는 구성을 직접 수행하는 단계입니다.

Google Cloud Platform 프로젝트 만들기



GotoGoogle Cloud Platform 프로젝트를 만듭니다. 이 기사에서는 GoogleDriveAppData라는 프로젝트를 만들었습니다.



이전 프로젝트가 있는 경우 프로젝트를 만든 후 여는지 확인하십시오.



사이드 바로 이동하여 APIs & Services를 선택하고 Credentials를 클릭합니다.



그런 다음 먼저 자격 증명 동의를 작성해야 합니다. Configure Consent Screen를 클릭해 보겠습니다.



조직 Google 계정에 대한 테스트를 수행하는 경우 확인할 수 있습니다Internal. 이 문서에서는 테스트를 위해 일반 Google 계정을 사용하므로 External를 선택합니다.



필요한 정보 앱 이름, 사용자 지원 이메일 및 개발자 연락처 이메일을 양식에 입력하십시오. 앱 인증 요구 사항이 시작되기 때문에 모두 채우지 않는 이유입니다. 앱을 게시할 준비가 되면 다른 항목을 채우는 것이 좋습니다.


Testing 단계에서 테스트할 테스트 사용자를 추가합니다. 나중에 게시할 때 앱이 게시되도록 설정할 수 있습니다.



동의가 완료되면 Android 및 IOS 모두에 대한 OAuth 클라이언트 ID를 생성합니다.



마찬가지로 Android 및 IOS에 필요한 정보를 입력합니다. 앱이 출시될 때 나머지 정보를 입력합니다.





IOS 프로젝트 구성



IOS용 OAuth 클라이언트가 생성되면 이 대화 상자가 팝업됩니다. 먼저 plist 파일을 다운로드하고 이름을 GoogleService-Info.plist 로 바꿉니다. 그런 다음 flutter 프로젝트의 ios/Runner 폴더 아래에 배치합니다.



Flutter의 IOS 프로젝트로 Xcode를 엽니다. 러너를 마우스 오른쪽 버튼으로 클릭하고 Add Files to "Runner"를 선택합니다. GoogleService-Info.plist를 선택하고 대상 러너에 추가를 클릭합니다.



info.plist를 열고 다음 구성을 plist에 복사합니다. REVERSED_CLIENT_ID를 GoogleService-Info.plist에서 CFBundleURLSchemes 배열 값으로 바꿔야 합니다.

<!-- Put me in the [my_project]/ios/Runner/Info.plist file -->
<!-- Google Sign-in Section -->
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <!-- TODO Replace this value: -->
            <!-- Copied from GoogleService-Info.plist key REVERSED_CLIENT_ID -->
            <string>com.googleusercontent.apps.861823949799-vc35cprkp249096uujjn0vvnmcvjppkn</string>
        </array>
    </dict>
</array>
<!-- End of the Google Sign-in Section -->


Flutter 프로젝트 구성



Flutter 프로젝트로 돌아갑니다. 터미널을 열고 flutter pub add google_sign_in를 실행하여 google_sign_in 플러그인을 프로젝트에 추가합니다.

다음 코드를 사용하여 Google 계정으로 로그인할 수 있습니다. 설정이 올바르면 앱이 처음 로그인할 때 Android용 계정 선택 대화 상자와 IOS용 로그인 페이지를 팝업할 수 있습니다.

GoogleSignInAccount? _googleUser;
Future<void> _signInGoogle() async {
  try {
    GoogleSignIn googleSignIn = GoogleSignIn(
      scopes: [
        ///TODO: put scopes app will use
      ],
    );
        /// if previously signed in, it will signin silently
        /// if not, the signin dialog/login page will pop up
    _googleUser =
        await googleSignIn.signInSilently() ?? await googleSignIn.signIn();
  } catch (e) {
    debugPrint(e.toString());
  }
}

///sign out from google
Future<void> signOut() async {
  GoogleSignIn googleSignIn = GoogleSignIn();
  await googleSignIn.signOut();
    _googleUser = null;
}


내용이 마음에 드셨다면 지원해주세요🍖


연결🍻


좋은 웹페이지 즐겨찾기