Firebase 없이 Google 로그인
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;
}
내용이 마음에 드셨다면 지원해주세요🍖
연결🍻
Reference
이 문제에 관하여(Firebase 없이 Google 로그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/maylau/google-signin-without-firebase-8d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)