Google Sign-Inの統合
Google Sign-Inをアプリケーションに統合し、ユーザーがGoogleアカウントでスムーズに認証できるようにします。
「Google Sign-Inの統合」はCoddyKit上の無料Firebase Auth & Realtime Database Appsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはFirebase Auth & Realtime Database Apps学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Firebase Auth & Realtime Database Appsコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Welcome to Google Sign-In
Google Sign-In is a secure way to let users log into your app using their Google accounts. It's fast, convenient, and users trust it.
This lesson will guide you through integrating Google Sign-In with Firebase Authentication, making your app more accessible.
Why Google Sign-In?
Using Google Sign-In offers several benefits:
- Ease of Use: Users don't need to create new passwords.
- Security: Leverages Google's robust authentication system.
- Trust: Users are familiar with the Google sign-in flow.
- Developer Simplicity: Firebase handles much of the complexity.
Integration Steps Overview
Integrating Google Sign-In with Firebase involves a few key steps:
- Enable Google as a provider in Firebase.
- Configure your app's Google Sign-In client.
- Handle the user's sign-in flow.
- Exchange the Google credential for a Firebase credential.
- Sign in the user to Firebase.
Enable Google in Firebase
First, you need to tell Firebase that you'll be using Google Sign-In.
Go to your Firebase Console, select your project, then navigate to Authentication > Sign-in method. Find 'Google' and enable it. Make sure to save your changes!
Web Client ID for Auth
Even for mobile apps, Firebase often uses a Web Client ID to securely authenticate with Google's backend services. This ID ensures that the Google token received by your app can be verified by Firebase.
After enabling Google Sign-In in the Firebase Console, Firebase automatically creates and links a Web Client ID for you. You'll typically find this in your project's `google-services.json` (Android) or `GoogleService-Info.plist` (iOS) file.
Configure Google Sign-In Client
In your application, you need to configure the Google Sign-In client. This setup includes requesting the user's ID token, which Firebase will use for authentication.
Here's a conceptual example of how you'd set up these options:
class GoogleSignInOptions {
boolean requestIdToken;
String webClientId;
GoogleSignInOptions(String clientId) {
this.webClientId = clientId;
}
GoogleSignInOptions requestIdToken(boolean value) {
this.requestIdToken = value;
return this;
}
String build() {
return "Options(ID_Token:" + requestIdToken + ", ClientID:" + webClientId + ")";
}
}
public class Main {
public static void main(String[] args) {
String WEB_CLIENT_ID = "YOUR_WEB_CLIENT_ID.apps.googleusercontent.com";
GoogleSignInOptions gso = new GoogleSignInOptions(WEB_CLIENT_ID)
.requestIdToken(true); // Request ID token for Firebase Auth
System.out.println("Google Sign-In options configured:");
System.out.println(gso.build());
}
}Initiate Sign-In Flow
Once the Google Sign-In client is configured, you'll typically have a "Sign in with Google" button. When the user taps this button, you'll launch the Google Sign-In intent to prompt the user to choose their Google account.
After the user selects an account, Google returns an authentication result, which includes the ID token we requested earlier.
Authenticate with Firebase
With the Google ID token in hand, the next step is to create a Firebase credential using this token and then sign in to Firebase Authentication.
Firebase handles the verification of the Google token and creates a new user or links to an existing one.
class GoogleAuthProvider {
static String getCredential(String idToken) {
return "GoogleCredential(" + idToken.substring(0, 10) + "...)";
}
}
class FirebaseAuth {
void signInWithCredential(String credential) {
System.out.println("Firebase Auth: Signing in with " + credential);
// Simulate success
System.out.println("User signed in successfully!");
}
}
public class Main {
public static void main(String[] args) {
// Imagine this ID token comes from Google Sign-In result
String googleIdToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
// 1. Create a Firebase credential from the Google ID token
String credential = GoogleAuthProvider.getCredential(googleIdToken);
// 2. Sign in to Firebase with the credential
FirebaseAuth auth = new FirebaseAuth();
auth.signInWithCredential(credential);
}
}Check Your Understanding
What is the primary piece of information obtained from Google Sign-In that Firebase uses to authenticate a user?
Google Sign-In Summary
You've learned how to integrate Google Sign-In with Firebase Authentication! This powerful combination provides a secure and user-friendly way for users to access your application.
Key takeaways:
- Enable Google as a provider in Firebase.
- Configure your app's Google Sign-In client to request an ID token.
- Use the obtained ID token to create a Firebase credential.
- Sign in to Firebase Auth with that credential.
Next, we'll explore other social login options like Facebook and GitHub!
よくある質問
「Google Sign-Inの統合」レッスンは無料ですか?
はい。「Google Sign-Inの統合」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Firebase Auth & Realtime Database Appsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Firebase Auth & Realtime Database Appsコースには全4レッスンが含まれています。
「Google Sign-Inの統合」で何を学びますか?
Google Sign-Inをアプリケーションに統合し、ユーザーがGoogleアカウントでスムーズに認証できるようにします。 ブラウザで直接実行するハンズオンコードでFirebase Auth & Realtime Database Appsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Firebase Auth & Realtime Database Appsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのFirebase Auth & Realtime Database Appsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Google Sign-Inの統合」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このFirebase Auth & Realtime Database Appsレッスンでコードを書いて実行できますか?
はい。すべてのFirebase Auth & Realtime Database Appsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Google Sign-Inの統合
- FacebookとGitHubの認証
- 匿名認証とカスタム認証
- Apple Sign-Inの統合