Back4AppのParseを使用したFlutterのサードパーティ認証に関する完全ガイド
Facebook、Google、Appleなどのサードパーティ認証方法をFlutterアプリに統合することで、柔軟で便利なログインオプションを提供し、ユーザーエクスペリエンスを大幅に向上させることができます。Back4Appが提供するParse Serverは、これらの認証プロバイダーに対する組み込みサポートを提供しています。このチュートリアルでは、Back4AppのParse SDKを使用してFlutterアプリにサードパーティ認証を実装する方法を学びます。
このチュートリアルの終わりまでに、以下の機能を備えた完全に機能するサインアップおよびログイン機能を持つFlutterアプリを作成することができます:
- Parseを使用した標準のメール/パスワード認証。
- サードパーティ認証方法:
- Facebook
- Google
- Apple
このチュートリアルに従うには、以下が必要です:
- Facebook、Google、Appleの開発者アカウント(サードパーティログイン方法を設定するために必要)。
- Visual Studio CodeやAndroid StudioなどのIDEまたはテキストエディタ。
- "新しいアプリを作成" をクリックします。
- アプリケーションの名前を入力します。例: "AuthDemo", そして "作成" をクリックします。
- プロジェクトが作成されたら、次に進みます。 アプリ設定 > セキュリティとキー に移動します。
- あなたの アプリケーション ID と クライアントキー をメモしておいてください。これらの値は、Flutter アプリで Parse を初期化するために必要です。
- Back4App ダッシュボードで、次に進みます。 サーバー設定 > 認証 に移動します。
- 使用する認証方法を有効にします:
- Facebook
- Google
- Apple
- 各プロバイダーについて、特定の資格情報(アプリ ID、クライアント ID、シークレットなど)を入力する必要があります。これらは今後のステップで設定されます。
ターミナルを開いて、新しいFlutterプロジェクトを作成します:
pubspec.yaml を開いて、Parseおよびサードパーティのサインインオプションのための以下の依存関係を追加します:
依存関係をインストールするために、flutter pub getを実行します。
lib/main.dartファイルで、Parse SDKをインポートし、main関数内で初期化します:
- 'YOUR_APP_ID' と 'YOUR_CLIENT_KEY' を、ステップ1からの実際のBack4Appの資格情報に置き換えます。
新しいディレクトリを作成します。servicesをlibの下に作成し、auth_service.dartという名前のファイルを追加します。このサービスは、Parseを使用してユーザー登録とログインを処理します。
新しいディレクトリを作成します。screensをlibの下に作成し、auth_screen.dartという名前のファイルを追加します。この画面は、標準的な認証のためのUIを提供します。
- Facebookアプリを作成する:
- クリックして "マイアプリ" を選択し、次に "アプリを作成" をクリックします。
- 選択する "コンシューマー" をアプリタイプとして選択し、クリックします "次へ".
- 「アプリ名」と連絡先メールを入力し、次に「アプリを作成」をクリックします。
- アプリにFacebookログインを追加する:
- アプリのダッシュボードで、"製品を追加"に移動し、"Facebookログイン"を選択します。
- 選択する "Android" および/または "iOS" あなたのターゲットプラットフォームに応じて。
- Facebookが提供するセットアップ手順に従ってください。アプリの バンドル識別子 がiOS用と パッケージ名 がAndroid用に必要です。
- OAuthリダイレクトURIを設定する:
- 「OAuthリダイレクトURI」を次のように設定します: https://parseapi.back4app.com/auth/facebook/callback
- アプリIDとアプリシークレットを取得する:
- アプリのダッシュボードで、次に進んでください "設定" > "基本".
- 「アプリID」と「アプリシークレット」をメモしてください。
- Back4AppにアプリIDとシークレットを追加する:
- Back4Appダッシュボードで、次に進みます サーバー設定 > 認証.
- 「Facebook」の下に、あなたの App ID と App Secret を入力してください。
Facebook認証を処理するために、次のコードを追加してください:
次のボタンをUIに追加します:
- あなたの android/app/src/main/AndroidManifest.xml:
- あなたのFacebookアプリIDを android/app/src/main/res/values/strings.xml:
- あなたの Info.plist ファイルを更新してください:
- Google Cloud Consoleでプロジェクトを作成する:
- OAuth同意画面を設定する:
- に移動します APIs & Services > OAuth同意画面.
- 必要なスコープで同意画面を設定します。
- OAuthクライアントIDを作成する:
- に移動します Credentials > Credentialsを作成 > OAuthクライアントID.
- を選択します Webアプリケーション.
- を追加します 承認済みリダイレクトURI: https://parseapi.back4app.com/auth/google/callback
- をメモします クライアントID と クライアントシークレット.
- クライアントIDとシークレットをBack4Appに追加する:
- Back4Appダッシュボードで、 サーバー設定 > 認証, に入力します クライアントID と クライアントシークレット をGoogle用に。
Google 認証を処理するために次のコードを追加してください:
次のボタンをUIに追加します:
- 次の内容を android/app/build.gradle ファイルに追加してください:
- あなたのGoogleクライアントIDを android/app/src/main/res/values/strings.xml:
- あなたの android/app/src/main/AndroidManifest.xml:
- 逆クライアントIDをあなたの Info.plist:
- アプリを登録する:
- Appleでのサインインを有効にする:
- の下で 識別子, アプリを選択し、 Appleでのサインインを有効にします。
- サービスIDを作成する:
- アプリのために サービスIDを作成します。
- を設定します リダイレクトURI を: https://parseapi.back4app.com/auth/apple/callback
- クライアントシークレットを生成する:
- を作成します Appleでのサインイン プライベートキー。
- このキーを使用して クライアントシークレットを生成します。
- Back4Appに資格情報を追加する:
- Back4Appダッシュボードで、 サーバー設定 > 認証, あなたの サービスID と クライアントシークレットを入力します。
Apple認証を処理するために次のコードを追加します:
次のボタンをUIに追加します:
- Xcodeでプロジェクトを開き、 Signing & Capabilities に移動します。
- "+ Capability"をクリックして、 "Sign in with Apple" を追加します。
- あなたの Bundle Identifier がApple Developer Portalに登録されているものと一致していることを確認してください。
すべての認証方法を設定したので、アプリを実行して各ログインオプションをテストできます。
- iOSの場合、Appleでのサインインをテストするには、実際のデバイスでアプリを実行する必要があります。
- Androidの場合、エミュレーターまたは物理デバイスを使用できます。
- ユーザー名、メールアドレス、パスワードを入力します。
- 新しいユーザーを作成するには、"サインアップ"をタップします。
- 作成した資格情報でログインするには、"ログイン"をタップします。
- タップ "Facebookでログイン".
- Facebookのログイン画面が表示されます。
- Facebookの認証情報でログインします。
- タップ "Googleでログイン".
- Googleのサインイン画面が表示されます。
- Googleアカウントでログインします。
- タップ "Appleでログイン".
- Appleのサインインプロンプトが表示されます。
- Apple IDを使用して認証します。
このチュートリアルでは、標準のメール/パスワード認証を成功裏に実装し、Parse SDKを使用してBack4AppにFlutterアプリにサードパーティの認証方法(Facebook、Google、Apple)を統合しました。この設定は、複数の便利なログインオプションを提供することでユーザーエクスペリエンスを向上させます。
- ユーザープロファイル: アプリを拡張してユーザープロファイルを管理し、ユーザーが情報を更新できるようにします。
- ログアウト機能: 各認証方法のためのログアウト機能を実装します。
- データセキュリティ: Parse ACLとロールを使用して、ロールベースのアクセス制御を実装することでデータを保護します。
- エラーハンドリング: ユーザーにより詳細なフィードバックを提供するためにエラーハンドリングを改善します。
- UIの強化: アプリのブランディングに合わせてUIをカスタマイズし、ユーザーエクスペリエンスを向上させます。
コーディングを楽しんでください!