もっと

Back4AppのParseを使用したFlutterのサードパーティ認証に関する完全ガイド

42min

はじめに

Facebook、Google、Appleなどのサードパーティ認証方法をFlutterアプリに統合することで、柔軟で便利なログインオプションを提供し、ユーザーエクスペリエンスを大幅に向上させることができます。Back4Appが提供するParse Serverは、これらの認証プロバイダーに対する組み込みサポートを提供しています。このチュートリアルでは、Back4AppのParse SDKを使用してFlutterアプリにサードパーティ認証を実装する方法を学びます。

このチュートリアルの終わりまでに、以下の機能を備えた完全に機能するサインアップおよびログイン機能を持つFlutterアプリを作成することができます:

  1. Parseを使用した標準のメール/パスワード認証。
  2. サードパーティ認証方法:
    • Facebook
    • Google
    • Apple

前提条件

このチュートリアルに従うには、以下が必要です:

  • Back4Appアカウントを作成してください。Back4Appで無料アカウントにサインアップします。
  • Flutter開発環境がマシンにインストールされていること。このガイドを参照してFlutterのセットアップに関するヘルプを受けてください。
  • FlutterとDartの基本的な知識が必要です。もし新しい場合は、Flutterの紹介を確認してください。
  • Facebook、Google、Appleの開発者アカウント(サードパーティログイン方法を設定するために必要)。
  • Visual Studio CodeやAndroid StudioなどのIDEまたはテキストエディタ。

ステップ 1 – Back4App バックエンドの設定

1.1. Back4App プロジェクトの作成

  1. あなたの Back4App ダッシュボード にログインします。
  2. "新しいアプリを作成" をクリックします。
  3. アプリケーションの名前を入力します。例: "AuthDemo", そして "作成" をクリックします。
  4. プロジェクトが作成されたら、次に進みます。 アプリ設定 > セキュリティとキー に移動します。
  5. あなたの アプリケーション IDクライアントキー をメモしておいてください。これらの値は、Flutter アプリで Parse を初期化するために必要です。

1.2. 認証プロバイダーの有効化

  1. Back4App ダッシュボードで、次に進みます。 サーバー設定 > 認証 に移動します。
  2. 使用する認証方法を有効にします:
    • Facebook
    • Google
    • Apple
  3. 各プロバイダーについて、特定の資格情報(アプリ ID、クライアント ID、シークレットなど)を入力する必要があります。これらは今後のステップで設定されます。

ステップ 2 – Flutter における Parse SDK のインストールと設定

2.1. 新しいFlutterプロジェクトを作成する

ターミナルを開いて、新しいFlutterプロジェクトを作成します:

Bash


2.2. 依存関係を追加する

pubspec.yaml を開いて、Parseおよびサードパーティのサインインオプションのための以下の依存関係を追加します:

YAML


依存関係をインストールするために、flutter pub getを実行します。

2.3. main.dartでParseを初期化する

lib/main.dartファイルで、Parse SDKをインポートし、main関数内で初期化します:

Dart

  • 'YOUR_APP_ID''YOUR_CLIENT_KEY' を、ステップ1からの実際のBack4Appの資格情報に置き換えます。

ステップ3 – 標準認証の実装

3.1. 認証サービスを作成する

新しいディレクトリを作成します。serviceslibの下に作成し、auth_service.dartという名前のファイルを追加します。このサービスは、Parseを使用してユーザー登録とログインを処理します。

Dart


3.2. 認証画面を作成する

新しいディレクトリを作成します。screenslibの下に作成し、auth_screen.dartという名前のファイルを追加します。この画面は、標準的な認証のためのUIを提供します。

Dart


ステップ 4 – Facebook 認証の統合

4.1. Facebook 開発者アカウントの設定

  1. Facebookアプリを作成する:
    • 行く Facebook for Developers にログインします。
    • クリックして "マイアプリ" を選択し、次に "アプリを作成" をクリックします。
    • 選択する "コンシューマー" をアプリタイプとして選択し、クリックします "次へ".
    • アプリ名」と連絡先メールを入力し、次に「アプリを作成」をクリックします。
  2. アプリにFacebookログインを追加する:
    • アプリのダッシュボードで、"製品を追加"に移動し、"Facebookログイン"を選択します。
    • 選択する "Android" および/または "iOS" あなたのターゲットプラットフォームに応じて。
    • Facebookが提供するセットアップ手順に従ってください。アプリの バンドル識別子 がiOS用と パッケージ名 がAndroid用に必要です。
  3. OAuthリダイレクトURIを設定する:
    • OAuthリダイレクトURI」を次のように設定します: https://parseapi.back4app.com/auth/facebook/callback
  4. アプリIDとアプリシークレットを取得する:
    • アプリのダッシュボードで、次に進んでください "設定" > "基本".
    • アプリID」と「アプリシークレット」をメモしてください。
  5. Back4AppにアプリIDとシークレットを追加する:
    • Back4Appダッシュボードで、次に進みます サーバー設定 > 認証.
    • Facebook」の下に、あなたの App IDApp Secret を入力してください。

4.2. 更新 auth_service.dart Facebookログインを使用して

Facebook認証を処理するために、次のコードを追加してください:

Dart


4.3. Facebookログインボタンを追加する auth_screen.dart

次のボタンをUIに追加します:

Dart


4.4. プラットフォーム固有の設定

Android

  • あなたの android/app/src/main/AndroidManifest.xml:
XML

  • あなたのFacebookアプリIDを android/app/src/main/res/values/strings.xml:
XML


iOS

  • あなたの Info.plist ファイルを更新してください:
XML


ステップ5 – Google認証の統合

5.1. Google開発者アカウントの設定

  1. Google Cloud Consoleでプロジェクトを作成する:
  2. OAuth同意画面を設定する:
    • に移動します APIs & Services > OAuth同意画面.
    • 必要なスコープで同意画面を設定します。
  3. OAuthクライアントIDを作成する:
    • に移動します Credentials > Credentialsを作成 > OAuthクライアントID.
    • を選択します Webアプリケーション.
    • を追加します 承認済みリダイレクトURI: https://parseapi.back4app.com/auth/google/callback
    • をメモします クライアントIDクライアントシークレット.
  4. クライアントIDとシークレットをBack4Appに追加する:
    • Back4Appダッシュボードで、 サーバー設定 > 認証, に入力します クライアントIDクライアントシークレット をGoogle用に。

5.2. auth_service.dart をGoogleログインで更新する

Google 認証を処理するために次のコードを追加してください:

Dart


5.3. Googleログインボタンを追加する auth_screen.dart

次のボタンをUIに追加します:

Dart


5.4. プラットフォーム固有の設定

Android

  • 次の内容を android/app/build.gradle ファイルに追加してください:
Text

  • あなたのGoogleクライアントIDを android/app/src/main/res/values/strings.xml:
XML

  • あなたの android/app/src/main/AndroidManifest.xml:
XML


iOS

  • 逆クライアントIDをあなたの Info.plist:
XML


ステップ 6 – Apple 認証の統合

6.1. Apple Developer アカウントの設定

  1. アプリを登録する:
  2. Appleでのサインインを有効にする:
    • の下で 識別子, アプリを選択し、 Appleでのサインインを有効にします。
  3. サービスIDを作成する:
    • アプリのために サービスIDを作成します。
    • を設定します リダイレクトURI を: https://parseapi.back4app.com/auth/apple/callback
  4. クライアントシークレットを生成する:
    • を作成します Appleでのサインイン プライベートキー。
    • このキーを使用して クライアントシークレットを生成します。
  5. Back4Appに資格情報を追加する:
    • Back4Appダッシュボードで、 サーバー設定 > 認証, あなたの サービスIDクライアントシークレットを入力します。

6.2. auth_service.dart をAppleログインで更新する

Apple認証を処理するために次のコードを追加します:

Dart


6.3. Appleログインボタンを auth_screen.dart

次のボタンをUIに追加します:

Dart


6.4. プラットフォーム固有の設定

iOSのみ

  • Xcodeでプロジェクトを開き、 Signing & Capabilities に移動します。
  • "+ Capability"をクリックして、 "Sign in with Apple" を追加します。
  • あなたの Bundle Identifier がApple Developer Portalに登録されているものと一致していることを確認してください。

ステップ7 – アプリケーションのテスト

すべての認証方法を設定したので、アプリを実行して各ログインオプションをテストできます。

7.1. アプリを実行する

Bash

  • iOSの場合、Appleでのサインインをテストするには、実際のデバイスでアプリを実行する必要があります。
  • Androidの場合、エミュレーターまたは物理デバイスを使用できます。

7.2. 標準認証のテスト

  • ユーザー名、メールアドレス、パスワードを入力します。
  • 新しいユーザーを作成するには、"サインアップ"をタップします。
  • 作成した資格情報でログインするには、"ログイン"をタップします。

7.3. Facebookログインのテスト

  • タップ "Facebookでログイン".
  • Facebookのログイン画面が表示されます。
  • Facebookの認証情報でログインします。

7.4. Googleログインのテスト

  • タップ "Googleでログイン".
  • Googleのサインイン画面が表示されます。
  • Googleアカウントでログインします。

7.5. Appleログインのテスト(iOSのみ)

  • タップ "Appleでログイン".
  • Appleのサインインプロンプトが表示されます。
  • Apple IDを使用して認証します。

結論

このチュートリアルでは、標準のメール/パスワード認証を成功裏に実装し、Parse SDKを使用してBack4AppにFlutterアプリにサードパーティの認証方法(Facebook、Google、Apple)を統合しました。この設定は、複数の便利なログインオプションを提供することでユーザーエクスペリエンスを向上させます。

次のステップ

  • ユーザープロファイル: アプリを拡張してユーザープロファイルを管理し、ユーザーが情報を更新できるようにします。
  • ログアウト機能: 各認証方法のためのログアウト機能を実装します。
  • データセキュリティ: Parse ACLとロールを使用して、ロールベースのアクセス制御を実装することでデータを保護します。
  • エラーハンドリング: ユーザーにより詳細なフィードバックを提供するためにエラーハンドリングを改善します。
  • UIの強化: アプリのブランディングに合わせてUIをカスタマイズし、ユーザーエクスペリエンスを向上させます。

追加リソース

コーディングを楽しんでください!